说明:
以下代码可以正常工作
$("body").on("click","#grumpy",function(e){
// perform some thing
e.stopPropagation();
});
但是如果我创建了一个自定义函数,并且我想要stopPropagation()
,那它就不起作用了......例如
function myFunction()
{
// do some work
e.stopPropagation();
}
我的代码
echo '<div class="recent_notice_in_side shake" id = "notice_no_'.$notice_id.'" onclick = "notice_expand(this.id)">
// other divs...
</div>';
如何在我搜索Google的自定义函数中实现e.stopPropagation();
,但无法在自定义函数中找到如何执行此操作。
答案 0 :(得分:3)
您的命名函数需要使用参数e
,就像匿名函数一样:
function myFunction(e) {
// do some work
e.stopPropagation();
}
$("body").on("click", "#grumpy", myFunction);
答案 1 :(得分:0)
您可以通过创建自己的点击事件并在实际点击事件中将“e”传递给您的函数来实现此目的。
var e = jQuery.Event( "click" );
myFunction( e );
可以在jquery中处理已创建事件的使用。下面的代码演示了相同的内容:
$(function () {
var myFunction = function (e) {
e.stopPropagation();
};
$("input[type=button]").click(function () {
var e = jQuery.Event("click");
myFunction(e);
});
HTML中的
<input type="button" value="Stop Propagation" />