![](/img/trans.png)
[英]Angular - Is it possible to prevent executing a (click) event by a directive?
[英]Is it possible to execute an inline click event function without executing a click event?
通過例子解釋:
$(".myCheckboxes").click(function () {
...
});
在click事件函數中,我有代碼可以執行各種操作,具體取決於選中的復選框。
但是我需要先運行此代碼來初始化它,有點像這樣:
$(".myCheckboxes").click(function () {
...
}).click();
它運行代碼並初始化,但它也點擊我的所有復選框,使它們都反轉它們的值。
是否可以執行內聯點擊事件功能而不執行點擊事件?
我非常希望保持函數內聯以保持代碼流。 此外,它不足以讓事件在事件之外,但它並不像我想要編寫代碼兩次那么小。
使用命名函數作為處理程序,綁定它並執行它:
$(".myCheckboxes").click(clickHandler);
clickHandler();
triggerHandler僅觸發處理程序:
$(".myCheckboxes").click(function () {
...
}).each(function(i, checkbox) {
$(checkbox).triggerHandler('click');
}
請注意,如果您希望觸發所有這些復選框而不是第一個復選框,則需要迭代復選框:
而.trigger()將對jQuery對象匹配的所有元素進行操作,而.triggerHandler()只影響第一個匹配的元素。
你可以考慮調用似乎做你需要的函數triggerHandler 。
$(".myCheckboxes").click(function () {
...
}).triggerHandler('click');
注意:我還沒有測試過這個解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.