Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 锚点链接不使用jquery event.preventDefault;_Javascript_Jquery_Html_Preventdefault - Fatal编程技术网

Javascript 锚点链接不使用jquery event.preventDefault;

Javascript 锚点链接不使用jquery event.preventDefault;,javascript,jquery,html,preventdefault,Javascript,Jquery,Html,Preventdefault,我需要打开与jquery的锚链接点击弹出窗口 这里是HTML部分 <a href="/waw/jvcc/customerSearch.htm" title="Clear Search" class="clearField" id="clearText">Clear Search</a> 我知道我可以用href替换href= 但我很好奇为什么event.preventDefault和returnfalse不起作用 任何帮助,因为您必须将其附加到事件,而不是$obj eve

我需要打开与jquery的锚链接点击弹出窗口

这里是HTML部分

<a href="/waw/jvcc/customerSearch.htm" title="Clear Search" class="clearField" id="clearText">Clear Search</a>
我知道我可以用href替换href= 但我很好奇为什么event.preventDefault和returnfalse不起作用


任何帮助,因为您必须将其附加到事件,而不是$obj

event.preventDefault()
@Juan的回答是正确的,尽管我在15秒前回答了,但我想通过对他的代码进行一些修改来展示如何正确地完成这一任务

$("a.clearField").click(loadclearSearchPopup);

function loadclearSearchPopup(e){
    e.preventDefault();
    // ... your code after preventing default action
}
我没有使用匿名函数,因为您的所有代码都在loadclearSearchPopup中 我用点击代替了点击。。。假设你的页面上没有很多功能完全相同的链接,你不太可能改变它的内容 我阻止对第一个字符串执行操作,因为可能以后您需要返回一些结果或中断它,并且不会执行对最后一个字符串的阻止 请注意,您不能向函数传递参数,但可以在函数中处理它们

应该是

e.preventDefault();
它是事件的方法,而不是jQuery对象的属性。此外,return false不起作用的原因是您没有将返回值传递回处理程序

$("a.clearField").on("click", function (e){
    var delay = '';
    // Prevents the link from being followed
    e.preventDefault();
    // Prevents following links and propagation (bubbling the event)
    // Note that this is a jQuery feature only. In standard DOM event handlers,
    // return false is the same as e.preventDefault()
    return false;
    // But you don't need both
});

从何处获取obj?您不需要preventDefault和return false,因为return false会阻止默认事件并停止传播。@Maximus在本例中return false没有任何作用,因为它不会传递回handler@Suman重新键入中遗漏了请参阅editedReplacing the href with并没有达到预期效果。正确的事件处理也不需要返回false,因为preventDefault处理functionality@mplungjan增加了两种方法之间差异的解释,返回错误;这是我需要的技巧。e、 防止违约;是的,你确实提前15秒回复了,我没有注意到OP调用preventDefault的对象是错误的,我从你的回答中偷了出来:我投了它。@JuanMendes,你很好!对于其他人,如果你投了反对票,请说明原因
e.preventDefault();
$("a.clearField").on("click", function (e){
    var delay = '';
    // Prevents the link from being followed
    e.preventDefault();
    // Prevents following links and propagation (bubbling the event)
    // Note that this is a jQuery feature only. In standard DOM event handlers,
    // return false is the same as e.preventDefault()
    return false;
    // But you don't need both
});