我有一個ID爲「open」的HTML按鈕。我已經添加了一個jQuery .click()
綁定到由ID選擇的HTML按鈕。在.click()
綁定中,我將「打開」的ID更改爲「關閉」。但是,即使ID已更改爲「關閉」,後續點擊「打開」按鈕仍會觸發。代碼如下:jQuery .click()在不存在的html元素上觸發事件
的index.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button id="open">Open</button>
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>
index.js
$('#open').click(function() {
console.log("clicked");
$(this).attr('id', 'close');
});
https://jsfiddle.net/iHexBot/28tj1ywg/
我期待/希望看到控制檯登錄 「點擊」 只有一個時間。但是,即使HTML元素ID不再「打開」,每次單擊按鈕時都會記錄「單擊」。有人可以向我解釋爲什麼會發生這種情況,如果可能的話,如何解決這個問題?
您必須在事件再次綁定,或使用代表團的功能就像() – FLX
然後你要綁定到$(「#閉」),並做了關閉功能?還是你只是這樣做,以便事件只觸發一次? – Dhunt