我使用jQuery创建一个锚点,并且在创建元素时似乎会触发onclick事件。我已经使用this method创建了几次这个项目的元素而没有任何问题,我是否得到了错误的结束?
jQuery('<a/>', {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text',
onclick: alert('test')
}).appendTo(spanDefaultValue);
由于
答案 0 :(得分:7)
查看此页面上的jQuery文档,您应该这样做:
$("<a/>", {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text',
click: function(){
alert('test');
}
}).appendTo("body");
答案 1 :(得分:6)
您正在调用alert('test');
并将其返回值分配给onclick
。请改用:
onclick: function(){ alert('test'); }
由于我确信alert('test')
只是一个例子,我还应该指出,如果你对某些功能有同样的问题,你可能只需更改你的代码:
onclick: somefunction()
要:
onclick: somefunction
如果您将参数传递给通常传递给事件处理程序的alert('test');
对象以外的函数,则只需要像使用event
一样将它包装在匿名函数中。
答案 2 :(得分:4)
这是更好的选择
$("<a/>", {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text'
}).bind('click',function(){ // your function}).appendTo("body");