e.stopPropagation();在自定义功能
下面的代码工作,因为它应该
$("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>';
如何在自定义函数中实现e.stopPropagation();
我搜索了Google,但无法找到如何在自定义函数中执行此操作。
你命名的功能需要采取一个参数e
,就像匿名函数:通过创建你的点击事件,并通过在“E”给你的函数在
function myFunction(e) {
// do some work
e.stopPropagation();
}
$("body").on("click", "#grumpy", myFunction);
或者(如果还需要运行一些其他代码),您将事件向前传递'$(“body”)on(“click”,“#grumpy”,function(e){ doSomethingElse(); ' – 2014-09-23 10:42:38
你可以这样做实际的点击事件。
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" />
不能工作形式我 – 2014-09-23 11:09:04
我做了一个编辑,其中一个按钮点击事件触发,实际上调用另一个方法,其中e通过,请检查,并让我知道,如果它现在工作 – 2014-09-23 12:05:59
'myFunction'应该有一个名为事件参数'e' – shakib 2014-09-23 10:36:33
他们都将无法正常工作...'$( “身体” ).on(“click”,“#grumpy”,function(){'should be'$(“body”)。on(“click”,“#grumpy”,function(e){' – 2014-09-23 10:36:35
我很抱歉是一个打字错误......但你能告诉我如何在自定义函数中做到这一点 – 2014-09-23 10:39:20