- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以通过复选框(开/关)来停止 jQuery 函数?有什么例子吗?
最佳答案
试试这个:
这没有什么魔力...您只需在脚本中测试您的复选框是否被选中。例如,如果您还想取消终止链接(链接的单击事件)或表单的提交(表单的提交事件),只需为这些特定事件返回 false,如下所示:
$('#myForm').submit(function(e) {
if (!$('#mycheck').is(":checked")) {
return false;
} else {
//do something...or nothing...whatever...
}
});
编辑:您的tiptip插件似乎没有有条件终止脚本的选项。您可以通过执行以下两件事之一来解决此问题...在插件中添加一些条件行或在未选中复选框时自动禁用插件(这可能会相对占用 CPU 资源)。所以让我们关注第一个选项......
当您设置tiptip插件时,请输入如下内容:
$(".someClass").tipTip({maxWidth: "auto", edgeOffset: 10, enter: myFunction});
myFunction 将在“active_tiptip”的最开始调用,在其他任何事情发生之前。转到插件源代码的第 101 行,您可以看到它是如何被调用的。我通过在文档中搜索单词“enter”找到了这一点...我发现了两个实例...一个是在第 35 行最初使用空函数建立属性时,另一个是在 active_tiptip() 函数的开头。现在,如果您希望能够使用 myFunction 来取消或不取消脚本的执行,请更改tiptip.js 中的第 101 行:
opts.enter.call(this);
对此:
if (!opts.enter.call(this)) {
return false;
}
然后创建执行此操作的 myFunction:
function myFunction() {
return $('#mycheck').is(":checked");
}
因此,myFunction 在选中时将返回 true,在未选中时返回 false。如果为 false,它将停止执行 active_tiptip() 函数,从而确保您的工具提示不会弹出。
这就是我愿意做的深度。剩下的你可以自己想办法。
关于jquery - 是否可以通过复选框(开/关)停止 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612746/
我是一名优秀的程序员,十分优秀!