正在从jQuery处理程序获取事件默认处理程序的结果

kokeuurv  于 2022-11-03  发布在  jQuery
关注(0)|答案(2)|浏览(127)

假设有一个带有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唯一的解决方案将做。
附言:该错误是在IE8文档模式下,即使锚的onclick处理程序中存在return false,IE10也会遵循FORM元素中的链接。

t98cgbkg

t98cgbkg1#

var s = this.onclick(); 将 做 的 伎俩 , 虽然 不 清楚 你 试图 实现 什么 ...

rnmwe5a2

rnmwe5a22#

对您的代码稍作修改:

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

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

JSF中间文件: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);
});

相关问题