0

onclick イベントを持つ DIV 要素があるとします。

<div onclick="return 'Hello world'"></div>

今、委任されたjQueryイベントからこの「Hello world」文字列を取得したいと思います:

$('body').delegate('div', 'click', function(event){
    var s = ...; // Now s is 'Hello world'
});

出来ますか?

洗練された IE バグの回避策としてこれが必要なので、IE のみのソリューションで十分です。

PS疑問に思っている人のために:バグは、IE8ドキュメントモードの場合、アンカーの「onclick」ハンドラーに「return false」がある場合でも、IE10がFORM要素内のリンクをたどるということです。

4

2 に答える 2

1

var s = this.onclick();あなたが達成しようとしていることは明らかではありませんが、トリックを行います...

于 2013-06-06T11:48:19.587 に答える
0

コードのわずかな変更:

<div onclick="alert('Hello world');">Hello World</div>

$('body').delegate('div', 'click', function(e) {
    e.preventDefault();
    exec($(this).attr('onclick'));
});

JSFiddle: http://jsfiddle.net/y7ABJ/

あなたの目標が何であるかが明確ではないため、別のオプション:

<div data-my-text="Hello world">Hello World</div>

$('body').delegate('div', 'click', function(e) {
    e.preventDefault();
    var s = $(this).data('myText');
    alert(s);
});
于 2013-06-06T11:51:03.767 に答える