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 回答