我有一个简单的触发器
$("button").click(function()
{
$(this).trigger("my_click"); //line A
console.log("xxx"); //line B
});
然后我捕获了该事件
$("button").on("my_click", function()
{
console.log("custom"); //line X
});
但是,是否可以防止通过.on()
函数执行“ xxx”日志?
我希望像往常一样执行A行和B行。但是在某些情况下,我想执行A行,X行,并阻止B行接下来执行。那有可能吗?
答案 0 :(得分:2)
您可以使用标志来执行此操作。只需在xxx控制台之前检查flag是否为true,然后在my_click中将flag设置为false
var flag = true;
$("button").click(function()
{
$(this).trigger("my_click"); //line A
if( flag ) {
console.log("xxx"); //line B
}
});
$("button").on("my_click", function()
{
console.log("custom"); //line X
flag = false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>button</button>