我有一个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