通过例子解释:
$(".myCheckboxes").click(function () {
...
});
在点击事件功能中,我有代码可以执行各种操作,具体取决于选中的复选框。
但我需要先运行此代码来初始化它,有点像这样:
$(".myCheckboxes").click(function () {
...
}).click();
它会运行代码并进行初始化,但它也会点击我的所有复选框,使它们全部反转它们的值。
是否可以在不执行点击事件的情况下执行内联点击事件功能?
我非常希望保持函数内联以保持代码流。此外,它不足以让事件在事件之外,但它并不像我想要编写代码两次那么小。
答案 0 :(得分:5)
使用命名函数作为处理程序,绑定它并执行它:
$(".myCheckboxes").click(clickHandler);
clickHandler();
答案 1 :(得分:5)
triggerHandler仅触发处理程序:
$(".myCheckboxes").click(function () {
...
}).each(function(i, checkbox) {
$(checkbox).triggerHandler('click');
}
请注意,如果您希望触发所有这些复选框而不仅仅是第一个复选框,则需要迭代复选框:
而.trigger()将对jQuery匹配的所有元素进行操作 object,.triggerHandler()只影响第一个匹配的元素。
答案 2 :(得分:2)
你可以考虑调用似乎做你需要的功能triggerHandler。
$(".myCheckboxes").click(function () {
...
}).triggerHandler('click');
注意:我还没有测试过这个解决方案。