我似乎正在对$()函数的名称空间冲突进行故障排除。我使用的是validate 1.4。我尝试使用jQuery的noConflict()方法,但我仍然缺少一些东西。
<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
} );
} );希望我在做一些愚蠢的事情。我只是希望我知道一个简单的方法来命名一个给定的插件,以避免这个问题。谢谢你的帮助!
发布于 2010-07-23 22:35:57
您没有向$j(function($) {传递$的值
你需要像这样的东西:
$j(function($,$j) {
$j.extend( $.validator.messages, {
required: 'Required'
} );
[...]
} )($,$j);否则,您传入的$将始终是未定义的。假设您传入的是flowplayer $,否则,传入$j并将内部变量更改为$j
发布于 2010-07-23 22:36:09
我还没有对noConflict做太多事情,但这不应该是:
$j.extend( $.validator.messages, {be
$j.extend( $j.validator.messages, {https://stackoverflow.com/questions/2156583
复制相似问题