Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery复选框更改事件未触发_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript Jquery复选框更改事件未触发

Javascript Jquery复选框更改事件未触发,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我试图从过去的一个小时里谈论这个小问题: <script type="text/javascript"> $(document).ready(function(){ $("input[name='isClubMember']:checkbox").mousedown(function() { if (!$(this).is(':checked')) { this.checked = confirm("Are you s

我试图从过去的一个小时里谈论这个小问题:

<script type="text/javascript">
$(document).ready(function(){        
    $("input[name='isClubMember']:checkbox").mousedown(function() {
         if (!$(this).is(':checked')) {
            this.checked = confirm("Are you sure?");
            $(this).trigger("change");
         }
    });
 });
</script>
JQ-版本:1.7.2浏览器:IE8

更新: IE控制台中的错误:

 'null' is null or not an object 

在上面提到的行中,我建议您可以在复选框中添加一个类名,并通过类名找到复选框!看来这就是ie8在这种情况下的问题

我认为在您的页面中jQuery没有连接。检查

我这样认为是因为$-函数并返回对象,但如果没有jQuery,那么$(str)将返回null。

看起来您的JSP页面在jQuery之后包含了库

Prototype的函数接受一个id,如果找不到元素,则返回
null
,这与您正在观察的行为一致

尝试在代码中的任何地方使用
jQuery
而不是
$

jQuery("input[name='isClubMember']:checkbox").mousedown(function() {
    // ...
});
或者将代码放入一个闭包中,该闭包通过
$
参数中的
jQuery
对象传递:

(function($) {
    // The rest of your code...
})(jQuery);
jQuery(document).ready(function($) {
    // The code in your 'ready' handler...
});
或者利用
ready
处理程序被传递相同的
$
参数这一事实:

(function($) {
    // The rest of your code...
})(jQuery);
jQuery(document).ready(function($) {
    // The code in your 'ready' handler...
});

您可能还希望在模式下运行jQuery,以避免在包含顺序发生变化时覆盖Prototype的
$()
函数。

我猜IE8中的选择器不知怎么坏了,试试[type='checkbox'],应该会更快

    $("input[name='isClubMember'][type='checkbox']").mousedown(function() {

为什么不
change
而不是
mousedown
您可以发布收到的确切错误消息?即使选择器与任何内容都不匹配,
mousedown()
调用也应该是安全的。@AlexBall:Even
change
都是一样的..没有luckchange name='isClubMember'到name=isClubMember@FrédéricHamidi:我的qn更新有误。哈米迪:+1非常好。。是的,我正在使用
Prototype
scriptaculous
。。我如何克服这个问题?请建议。