jQuery 创建元素触发 onclick 事件
我使用 jQuery 创建一个锚点,并且在创建元素时似乎会触发 onclick 事件。我已经在这个项目中多次使用这种方法创建元素,没有出现任何问题,我拿错了棍子的一端?
jQuery('<a/>', {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text',
onclick: alert('test')
}).appendTo(spanDefaultValue);
谢谢
I create a anchor using jQuery and the onclick event seems be triggered when the element is created. I've used this method of creating elements a few times with this project without a problem, have I got the wrong end of the stick?
jQuery('<a/>', {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text',
onclick: alert('test')
}).appendTo(spanDefaultValue);
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看本页上的 jQuery 文档,您应该这样做:
Looking at the jQuery documentation on this page you should be doing this:
您正在调用
alert('test');
并将其返回值分配给onclick
。使用这个代替:因为我确信
alert('test')
只是一个例子,我还应该指出,如果您对某些函数遇到同样的问题,您可能只需更改代码即可:收件人:
如果您将参数传递给
event
alert('test'); 所做的那样> 通常传递给事件处理程序的对象。You're calling
alert('test');
and assigning it's return value toonclick
. Use this instead:Since I'm sure
alert('test')
is just an example I should also point out that if you have the same problem with some function you likely can just change your code from:To:
You only need to wrap it in an anonymous function the way I did with
alert('test');
if you're passing arguments to the function other than theevent
object that is normally passed to an event handler.这是更好的选择
This is much better alternative