Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回false不处理自定义事件_Javascript_Jquery - Fatal编程技术网

Javascript 返回false不处理自定义事件

Javascript 返回false不处理自定义事件,javascript,jquery,Javascript,Jquery,我是Jquery自定义事件的新手,刚刚阅读了文档,我决定让我自己的自定义事件看看下面: HTML: <a href="http://stackoverflow.com/">Hello</a> 编辑::总结一下我在上述代码中遇到的困难,returnfalse不起作用!用户仍然可以导航到a中的链接 现在这里的问题是返回false或preventDefault在这里起作用,为什么 我做了一点实验,当我把逻辑转移到 $('a').click(function(){ $(

我是Jquery自定义事件的新手,刚刚阅读了文档,我决定让我自己的自定义事件看看下面:

HTML:

<a href="http://stackoverflow.com/">Hello</a>
编辑::总结一下我在上述代码中遇到的困难,returnfalse不起作用!用户仍然可以导航到
a
中的链接

现在这里的问题是返回false或preventDefault在这里起作用,为什么

我做了一点实验,当我把逻辑转移到

$('a').click(function(){
    $(this).trigger('kabhoom');
    return false;
})

它可以工作,但在我的自定义事件侦听器中,我的代码无法工作。谁能告诉我为什么?我对Jquery的工作方式更感兴趣,这就是为什么我要问这个问题

Return使用该返回值退出函数。您的
preventDefault
永远无法访问

    console.log(e.target); // Log stuff
    return false; // Exit function
    e.preventDefault(); // unreachable
同样,在第二个代码块中,您从未定义过e。因此,即使它将达到
e.preventDefault()行它将失败,出现
未捕获引用错误:未定义e

编辑

您需要检查传播是否已在中停止

var content=$('frut');
$(函数(){
//kabhoom=$.Event('click');
$('a')。关于('kabhoom',函数(e){
//我们可以走了吗?还是已经停了?
如果(!e.isPropagationStopped()){
content.append(“Target=“+e.Target+”
取消事件
”); e、 预防默认值(); e、 停止传播(); e、 取消气泡=真; 返回false; } }) }); $('a')。单击(函数(e){ content.append('normalclick event
'); $(this.trigger('kabhoom'); e、 预防默认值(); 返回false; }) //包装就绪,否则事件侦听器的注册顺序会混乱。 $(文档).ready(函数(){ $('a')。关于('kabhoom',函数(e){ //我们可以走了吗?还是已经停了? 如果(!e.isPropagationStopped()){ content.append('不应出现
'); } }); });


检查我的Jquery的第一个片段,
return false
不会执行,可能也不会被访问,我的问题是为什么?更简单的是,当用户点击链接时,他仍然可以进入链接,你执行代码了吗?天哪!!!你完全误解了我的问题,LOOL,只要执行我的第一个Jquery,你就会发现既不返回false也不返回default fires!这个答案太错了!您还没有费心理解我的问题,更不用说回答了,请删除此答案或重新阅读我的问题!我感谢你试图帮助我,但首先请确保你知道我在说什么!您将学习编码,而不是在不了解程序流程的情况下复制粘贴几行。我更新了我的答案。下次礼貌一点,这真的很有帮助。查看以下主题:
    console.log(e.target); // Log stuff
    return false; // Exit function
    e.preventDefault(); // unreachable