我使用ajax調用某些窗體,然後綁定每個按鈕的事件處理程序。問題是......當我使用ajax調用一個新的表單時,再次爲新元素調用事件處理程序,然後爲之前的元素添加兩次。我如何檢測一個事件處理程序是否已經在一個元素上,而不是再次綁定它?如果綁定事件處理程序已綁定
function x(){
$("input:button").click(function(){
alert('is this called once?');
});
}
<input type='button' value='Disable me' />
<input type='button' value='Disable me' />
function x(){
$("input:button").click(function(){
alert('is this called once?');
});
}
// calling event twice simulating an ajax calling:
x();
x();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type='button' value='Disable me' />
<input type='button' value='Disable me' />
使用事件委派,以便您只需設置一次事件處理程序。 – Pointy