jquery 绑定事件
html:
<ul>
<li><input type="submit" id="myId" value="someVal"/>
</ul>
jQuery
$('ul').find('input[type="submit"]').click(function{
alert('nasty alert')
$(this).attr('id','newId');
});
$('input#newId').click(function(){
$(this).hide();
});
好的,所以我的目的是单击一次后更改 id,然后更改按钮以执行其他操作(隐藏)。我也尝试过 live() 。在 Firebug 中,看起来 id 已更改,但我第二次单击该按钮会触发相同的警报(“令人讨厌的警报”)。还有一些奇怪的事情......如果我使用 live(),鼠标右键单击按钮就会消失(就像它应该的那样)。有什么建议吗?谢谢
html:
<ul>
<li><input type="submit" id="myId" value="someVal"/>
</ul>
jQuery
$('ul').find('input[type="submit"]').click(function{
alert('nasty alert')
$(this).attr('id','newId');
});
$('input#newId').click(function(){
$(this).hide();
});
ok, so my intention is to change the id after one click and then the button to do something else(hide). i tried with live() too. In firebug it looks like the id has changed but my second click on the button triggers the same alert('nasty alert'). And something strange...if i use live(), on mouse right click the button dissapears (like it should). any sugestions? thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您基本上将一个
click
事件处理程序两次附加到同一输入。您没有理由附加两个事件处理程序,我已经更新了代码,因此使用变量来跟踪。
编辑:修复了语法错误,现在使用
.data
You're basically attaching a
click
event handler twice to the same input.There's no reason you should attach two event handlers, I've updated the code so a variable is used to keep track.
Edit: Fixed syntax error and now it's using
.data