假设有一个带有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的解决方案才能实现。
P.S。对于那些想知道的人:bug是在IE8文档模式下,即使在anchor的“onclick”处理程序中有“return false”,IE10也会跟随FORM元素中的链接。
答案 0 :(得分:1)
var s = this.onclick();
会做到这一点,虽然目前还不清楚你想要实现的目标......
答案 1 :(得分: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);
});