是否可以更改事件的顺序,以便首先使用消息Huh?
调用警报功能,然后再使用'是的下一个警告!'消息?
<div class="elem" onclick="alert('Yeah!')"></div>
我的jQuery代码。
$('.elem').click(function () {
alert('Huh?');
})
链接到jsFiddle:http://jsfiddle.net/84Lyq3n9/
答案 0 :(得分:2)
这个怎么样:
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);
});
答案 1 :(得分:0)
但你可以用很多方法做到这一点。 首先,您可以删除属性&#34; onclick&#34;。您可以使用javascript进行操作。
$('.elem').removeAttr("onclick");
$('.elem').click(function () {
alert('Whatever you want');
alert('Huh?');
})
&#13;
这是一个链接:http://www.w3docs.com/learn-javascript/javascript-events.html