我有許多元素與「點擊」事件。 如何在所有按鈕的jQuery點擊事件添加一些條件?覆蓋標準點擊事件?如何在jquery點擊事件中添加一些條件?
例如:
if (my_condition) {
return click();
} else {
return false;
}
我有許多元素與「點擊」事件。 如何在所有按鈕的jQuery點擊事件添加一些條件?覆蓋標準點擊事件?如何在jquery點擊事件中添加一些條件?
例如:
if (my_condition) {
return click();
} else {
return false;
}
如果你想針對所有按鈕
$(':button').click(function(event){
if (someCondition){
doSomeFunction();
event.preventDefault();
}
});
如果條件是假的,那麼這應該不中斷的默認行爲。
可以使用綁定,
$('#MY-BTNS').bind('click', function() {
if(my_conditions)
alert('User clicked on "foo."');
});
,也可以擴展jQuery.click();
但在我看來,最好是使用綁定。
jQuery的'click()'方法只是'.bind('click',handler)'的一個快捷方式。有關更多信息,請參閱文檔:http://api.jquery.com/click/ –
謝謝,我的意思是,而不是覆蓋點擊行爲,最好在精確綁定上進行更改。 – pomaxa
像這樣的東西應該工作:
$("input[type='button']").bind("click", buttonClick);
buttonClick = function(e) {
if (someCondition) {
$(this).unbind("click"); // remove the click for element
}
}
這在很大程度上取決於條件本身。你可以再詳細一點嗎? – unclenorton