簡體   English   中英

是否可以在不執行click事件的情況下執行內聯單擊事件功能?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM