在js中怎么给动态生成的元素绑定事件

如题,比如通过ajax请求到了数据,然后在dom中动态把数据加入到列表中,怎么给列表添加事件?在哪里加有效?

最好是在元素生成的时候就加上事件,不然的话比较麻烦。

在jquery中,你也可以用live()和delegate()这样的方法绑定元素,是实时监听的。

但是最好还是在元素生成的时候就加上事件:

$('#btn').bind('click', function(event) {
    /* Act on the event */
    $("<li>Hello</li>").appendTo("#list").bind('click', function(event) {
      /* Act on the event */
      console.log($(this).text());
    });
    
  });

在mootools中对应的方法:

// Creating an new anchor with an Objectvar myAnchor = new Element('a', {
    href: 'http://mootools.net',
    'class': 'myClass',
    html: 'Click me!',
    styles: {
        display: 'block',
        border: '1px solid black'
    },
    events: {
        click: function(){
            alert('clicked');
        },
        mouseover: function(){
            alert('mouseovered');
        }
    }});

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-03
请求回来的时候直接给上,比如我回来的就是<a onclick="hs()"></a> .而不是<a></a>.然后获取a .因为通过DOM找不到回来的元素
相似回答