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)

はい、これはクロム拡張機能から挿入されたスクリプトです。

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 に答える