我有这样的代码:禁用href和执行功能
<a href="link.cshtml">
<div>...</div>
<div class="function">...</div>
<div>....</div>
</a>
我想与类函数div禁止href和调用一个函数,当我点击这个div。
我试过onclick="return false; testFunction();"
但显然它不起作用。
有人可以帮助我吗?
在此先感谢
我有这样的代码:禁用href和执行功能
<a href="link.cshtml">
<div>...</div>
<div class="function">...</div>
<div>....</div>
</a>
我想与类函数div禁止href和调用一个函数,当我点击这个div。
我试过onclick="return false; testFunction();"
但显然它不起作用。
有人可以帮助我吗?
在此先感谢
preventDefault
以确保浏览器将无法运行默认href
。return
- 没事后,将运行...function testFunction() {
alert('hi');
}
document.querySelector('.function').addEventListener('click', function() {
event.preventDefault();
testFunction();
});
<a href="https://www.yahoo.com">
<div>...</div>
<div class="function">Click here will not change page</div>
<div>....</div>
</a>
另一种方法,使之与javascript:void(0)
,并通过jQuery
$(".function").click(function(){
console.log("test")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="javascript:void(0)">
<div>...</div>
<div class="function">Click here will not change page</div>
<div>....</div>
</a>
$('#selector').on('click', function(e) {
e.preventDefault();
alert("Cool!");
});
请解释你的码。 – bfontaine
,你可以这样做:
$('#content a').click(function(){ return false });
从Click事件处理程序返回false
阻止默认行为(链接如下)。
如果你可以有一个以上的链接,但要禁用只有这一个,你可能在你的选择更具体:
$('#content a[href="/test/"]').click(function(){ return false });
当然它不_that_为了工作...什么都没有之后__返回语句得到执行。 – CBroe
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener – Teemu
使用'event.preventDefault();'内部testfunction()来防止超链接的默认操作点击 – Niladri