0

无法click()在生成的 ajaxa元素上执行。但我可以选择。

function cansel(){
    var cansel_button = document.getElementById('cansel_button');
    console.log(cansel_button);
    console.log('post');
    cansel_button.click();
}

我得到了这个日志:

<a id=​"cansel_button" style=​"text-decoration:​none;​" class="" onclick="">​…​&lt;/a>​
post
extensions/event.js:185Error in event handler for 'undefined': TypeError: Object  has no method 'click'
    at cansel (unknown source)
    at unknown source
    at [object Object].dispatch (extensions/event.js:183:28)
    at Object.<anonymous> (extensions/miscellaneous_bindings.js:177:22)

是的,这是来自 chrome 扩展的注入脚本。

UPD:注入的页面有类似触发器$('#element').live('click', function(){ }),我需要在没有任何黑客攻击的情况下执行此操作。

4

1 回答 1

1

document.getElementById方法返回DOM Element,它没有"click"您尝试调用的方法。如果你想调用click处理程序,那么你需要使用这个:

 cansel_button.onclick();

而不是cansel_button.click();.

于 2012-04-15T11:50:42.367 回答