是否有更好的(更新)替代以下標準的onbuttonclick()調用使用jQuery或mvc3輔助操作的JavaScript函數?按鈕onclick()替代使用jQuery或mvc3的操作?
<button onclick="javascript:AddNew()" title="ad action">Add</button>
是否有更好的(更新)替代以下標準的onbuttonclick()調用使用jQuery或mvc3輔助操作的JavaScript函數?按鈕onclick()替代使用jQuery或mvc3的操作?
<button onclick="javascript:AddNew()" title="ad action">Add</button>
使用JQuery ...
<button id="buttonID" title="ad action">Add</button>
$('#buttonID').click(function() {
alert('click called.');
});
對於一個特定的按鈕,使用StressChicken的答案。對於更一般的情況,您想要處理屬於某個類的任何按鈕,或者針對該問題匹配任何選擇器,請參閱jQuery的on函數。請注意,這也適用於動態添加的內容。
$(document).on("click", ".selectorClass", function() {
alert('click called.');
});
需要注意的是此功能,需要的jQuery 1.7
我不會將'document'設置爲聽衆,而是將其設置爲最近的永久祖先。 '.on()'也可以用於自我傾聽者,所以我更喜歡它。語法更好。 –
@Greg - 你爲什麼不使用'document'?我見過很多代碼示例。這種方法有問題嗎? –
它與使用'.live()'完全相同,很多示例也使用它(我會說它是SO jQuery樣本中最受歡迎的綁定函數,儘管它被記錄爲一個糟糕的執行者)。原因很簡單:對於每次點擊,整個文檔都需要檢查匹配。如果您委託偵聽更多嵌套祖先(在其他DOM操作期間未銷燬的祖先),則可以大大縮小事件觸發時檢查的元素數量。這是一個表現的事情。雖然我也喜歡它的優雅。 –
使用jQuery它會更好。
添加
$( '#按鈕')點擊(函數(){ 警報( '函數調用。');} )。
按鈕時,不止一個,我們可以增加一些類,對他們只是添加一些代碼行打電話給他們一個接一個,像
<button class="mybtn">I'm Clikced 1</button>
<button class="mybtn">I'm Clikced 2</button>
<button class="mybtn">I'm Clikced 3</button>
<button class="mybtn">I'm Clikced 4</button>
和jQuery像這樣
$(function(){
$("button.mybtn").click(function(){
var value = $(this).text();
alert(value);
});
});
爲什麼不把她的'AddNew()'放在需要更清晰的地方?甚至,它的人物少於警戒。 ;-) –
@GregPettit我是jquery世界的新手。你能舉個例子說明你的建議嗎? – nam
@nam,我的評論只是她的例子有一個很短的方法調用,'AddNew'。可以剛剛使用過。 '$('#buttonID')。click(function(){AddNew();});' –