我在加载此代码时遇到问题。我确信这与noConflict有关,但我似乎无法做到正确。
$(document).ready(
function spouseName() {
if ($('#maritalstatus').val() == 'married') {
$('#spousename').attr("disabled", false);
} else {
$('#spousename').val('');
$('#spousename').attr("disabled", true);
}
}
);
顺便说一下,它适用于IE但不适用于FF
答案 0 :(得分:6)
感谢信息和答案,似乎这个帖子有帮助
firefox在jquery document.ready函数中无法识别函数名。我所做的是把它包在里面虽然它看起来非常规。我刚刚删除了文档,它完美无缺。看来chrome和FF不识别这个中的函数名吗?
function spouseName() {
if ($('#maritalstatus').val() == 'married') {
$('#spousename').attr("disabled", false);
}
else {
$('#spousename').val('');
$('#spousename').attr("disabled", true);
}
}
答案 1 :(得分:4)
如果您未包含jQuery或可能在JavaScript下导入,则会出现“jQuery not defined”错误。
应该是这样的:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> </script>
<script type="text/javascript" src="myjsfile.js"> </script>
myjsfile.js
应该是这样的:
$(document).ready(function(){
every function inside this
});
答案 2 :(得分:1)
你的问题不是很清楚。你在使用$.noConflict
吗?如果是这样,文档中有一个例子:
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) {
if ($('#maritalstatus').val() == 'married') {
$('#spousename').attr("disabled", false);
}
else {
$('#spousename').val('');
$('#spousename').attr("disabled", true);
}
});
// Code that uses other library's $ can follow here.
</script>
但在所有情况下,请确保在尝试使用之前已正确引用了jquery脚本。
答案 3 :(得分:1)
在ready()
之后忘记了函数()应该是:
$(document).ready(function() {
function spouseName() { // your code }
function anotherFunction() { }
});
答案 4 :(得分:0)
在某些情况下,由于 scope 问题,jQuery找不到函数。您可以如下定义函数,并且重要的主题是将函数范围设置为全局:
jQuery(document).ready(function($) {
function sample() { console.log('blah blah'); }
window.sample = sample; //export function sample to the globals.
})
或更短的形式如下:
(function($) {
function sample() { console.log('blah blah'); }
window.sample = sample; //export function sample to the globals.
})(jQuery)
希望获得帮助。