2012-04-15 9 views
0

生成されたajax a要素にclick()を実行できません。しかし、私は選択することができます。ajax生成された 'a'要素をクリックしてください

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="">​…​</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) 

をとはい、これはクロムの拡張子からスクリプトを注入します。

UPD: 注入ページには$('#element').live('click', function(){ })のようなトリガーがあり、ハックなしで実行する必要があります。

答えて

1

document.getElementByIdメソッドは、DOM Elementを返します。これは、呼び出ししようとしたメソッドが"click"ではありません。

cansel_button.onclick(); 

代わりのcansel_button.click();:あなたはclickハンドラを呼び出したい場合は、これを使用する必要があります。

+0

更新プログラムの質問をご覧ください。 cansel_button.onclick()は私が望むものをdidntしましたが、エラーはしません。 – RED

+0

@RED 'function someClickHandler(){}'関数を定義し、ハンドラとして '$( '#element')に渡すことができます。live( 'click'、someClickHandler)'。いつでも 'someClickHandler() '関数。 – Engineer

+0

ハッキングなしで実行できますか? – RED

関連する問題