[英]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();
});
是的,只需聲明該函數,然后將其綁定到事件:
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.