$('#myBox').click(function(e){
e.preventDefault();
e.stopPropagation();
$('#myBox').prop("checked", !$('#myBox').prop("checked") );
});
我将此附加到一个复选框,以便检查切换由我的javascript而不是默认行为控制,而只是不起作用。我无法弄清楚为什么!
我这样做的原因:IE有一个双击过滤器,可以这么说,双击复选框只注册为单击。这恰好阻止人们快速切换复选框,这是我的应用程序所需的功能,奇怪的是。所以我只是取消了它的默认功能,并通过JavaScript / jQuery手动捕获点击并以这种方式切换,从而消除了“速度限制”。除了我不知道如何阻止点击从一开始就切换它,因此这个问题。
答案 0 :(得分:0)
setTimeout(function() {
$('#myBox').prop("checked", !$('#myBox').prop("checked") );
}, 1);
只需1毫秒的延迟计时器即可。
答案 1 :(得分:0)
我猜你想在你的复选框改变时运行一些东西......
在这种情况下,您应该抓住更改事件:
$('#myBox').bind('change', function() {
// Do checks here, if you don't want it to change, then deal with it then
});