不能让jQuery(html,props)与事件一起工作

iam*_*eed 4 jquery

我无法让click事件适用于所创建的元素.

http://jsfiddle.net/iambriansreed/PEZXa/

jQuery的

$('<a href="#">a</a>', {
  click: function(){
    alert('a clicked');
  }
}).appendTo("div");

$('<span>span</span>', {
  click: function(){
    alert('span clicked');
  }
}).appendTo("div");
Run Code Online (Sandbox Code Playgroud)

请不要向我展示将onclick事件添加到元素的50种不同方法我想知道为什么这个特定方法有效或无效.

来自文档:http: //api.jquery.com/jQuery/#jQuery2

Ste*_*ins 6

$('<a />', {
    href: '#',
    text: 'a',
  'click': function(){
    alert('a clicked');
  }
}).appendTo("div");

$('<span />', {
    text: 'span',
  'click': function(){
    alert('span clicked');
  }
}).appendTo("div");
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/PEZXa/56/

来自文档

html - 定义单个独立HTML元素的字符串(例如<div />或<div> </ div>).


Ble*_*der 5

当像这样创建的元素包含文本节点或属性时,jQuery似乎不喜欢它.实质上,您提供的HTML代码应该是单个(可能是自动关闭)标记.

这可能是因为您使用的语法要求在object参数中定义属性,而不是在HTML和对象之间混合.

无论如何,这段代码对我有用:

$('<a /> ', {
    href: '#',
    text: 'a',
    click: function() {
        alert('a clicked');
    }
}).appendTo("div");

$('<span />', {
    text: 'span',
    click: function() {
        alert('span clicked');
    }
}).appendTo("div");?
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/PEZXa/60/