是否可以更改事件的顺序以首先使用消息 Huh?
调用警报功能,然后才使用“是的!”发出下一个警报消息?
<div class="elem" onclick="alert('Yeah!')"></div>
我的 jQuery 代码。
$('.elem').click(function () {
alert('Huh?');
})
jsFiddle 链接:http://jsfiddle.net/84Lyq3n9/
最佳答案
这个怎么样:
var inline_click_handler_src = $('.elem').attr('onclick');
var inline_click_handler = new Function('e', inline_click_handler_src);
$('.elem').removeAttr('onclick');
$('.elem').click(function () {
alert('Huh?');
inline_click_handler();
});
[编辑] 或者不用标记内容:
var el = $('.elem').get(0);
var inline_click_handler = el.onclick;
el.onclick = null;
$('.elem').click(function () {
alert('Huh?');
inline_click_handler();
});
[再编辑] 如果您的内联点击处理程序使用 this
,请使用 function.call()
来设置执行上下文:
var el = $('.elem').get(0);
var inline_click_handler = el.onclick;
el.onclick = null;
$('.elem').click(function () {
alert('Huh?');
inline_click_handler.call(el);
});
关于javascript - 如何改变事件的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400872/