簡體   English   中英

結合兩個事件處理程序,jQuery

[英]Combining two event handlers, jQuery

我想在一個物體上觀察兩個事件,

input.blur(function(event) {
  ajaxSubmit(this);
  event.preventDefault();
});

form.submit(function(event) {
  ajaxSubmit(this);
  event.preventDefault();
});

但我覺得這不夠干,我可以將兩個事件綁定到我的對象input並執行我的函數ajaxSubmit()如果要么開火嗎?


如果你能做的話,最酷的是:

input.bind("blur", "submit", function(event) {
  ajaxSubmit(this);
  event.preventDefault();
});

您可以使用on方法

$("#yourinput").on("blur submit", functionname);

可以結合任意數量的事件; 用空格隔開它們。

是的,只需聲明該函數,然后將其綁定到事件:

var ajaxCallback = function(event){
  ajaxSubmit(this);
  event.preventDefault();
};

input.blur(ajaxCallback);
form.submit(ajaxCallback);

關於變量聲明的說明:

正如@cletus指出的那樣,我聲明函數的方式提供了一個變量,該變量對於它定義的任何范圍都是私有的。我總是以這種方式編程以最小化污染全局命名空間。 但是,如果您沒有定義此回調並將其綁定到同一代碼塊中的元素,則應以這種方式定義它:

function ajaxCallback(event){ ... }

這樣,只要您稍后使用.blur.submit方法綁定它, .blur .submit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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