首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jQuery noConflict与flowplayer工具配合使用

将jQuery noConflict与flowplayer工具配合使用
EN

Stack Overflow用户
提问于 2010-01-29 01:39:52
回答 2查看 1K关注 0票数 1

我似乎正在对$()函数的名称空间冲突进行故障排除。我使用的是validate 1.4。我尝试使用jQuery的noConflict()方法,但我仍然缺少一些东西。

代码语言:javascript
复制
<link href="/c/jq/ui.all.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.jquerytools.org/1.1.2/full/
jquery.tools.min.js" type="text/javascript"></script>
<script src="/js/jquery.ui.core.js" type="text/javascript"></script>
<script src="/js/jquery.ui.tabs.js" type="text/javascript"></script>
<script src="/js/jquery.ui.accordion.js" type="text/javascript"></
script>
<script type="text/javascript">
    /* <![CDATA[ */
        var $j = jQuery.noConflict();
    /* ]]> */
</script>
<script src="/js/cilp.js" type="text/javascript"></script>
<script src="/js/jquery.validate.js" type="text/javascript"></script>
<script src="/js/cilp/validate.js" type="text/javascript"></script>

if i comment out the last two external references (the validate files)
all is well.  here is the validate.js file:

$j(function($) {
    $j.extend( $.validator.messages, {
        required: 'Required'
    } );

    $j( '#qotw-form' ).validate( {
        rules: {
            'qotw-options': 'required'
        },

        submitHandler: function() {
            var answer = $j( "input[name='qotw-options']:checked" ).val();
            var correct = answer == 'c' ? true : false;
            var res = correct ? 'Correct!' : 'Try again!';
            $j( '#qotw-answer' ).html(res);
        },

        focusCleanup: true

        //, debug: true
    } );

} );

希望我在做一些愚蠢的事情。我只是希望我知道一个简单的方法来命名一个给定的插件,以避免这个问题。谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2010-07-23 22:35:57

您没有向$j(function($) {传递$的值

你需要像这样的东西:

代码语言:javascript
复制
$j(function($,$j) {
    $j.extend( $.validator.messages, {
        required: 'Required'
    } );
[...]

} )($,$j);

否则,您传入的$将始终是未定义的。假设您传入的是flowplayer $,否则,传入$j并将内部变量更改为$j

票数 2
EN

Stack Overflow用户

发布于 2010-07-23 22:36:09

我还没有对noConflict做太多事情,但这不应该是:

代码语言:javascript
复制
$j.extend( $.validator.messages, {

be

代码语言:javascript
复制
$j.extend( $j.validator.messages, {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2156583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档