Javascript JQuery导航栏默认不工作
我一直在试图找出我的测试代码出了什么问题。默认设置不起作用。警报即将发出,但链接正在被跟踪。我的代码有什么问题Javascript JQuery导航栏默认不工作,javascript,jquery,Javascript,Jquery,我一直在试图找出我的测试代码出了什么问题。默认设置不起作用。警报即将发出,但链接正在被跟踪。我的代码有什么问题 <html> <head> <title>JQuery Testing</title> <script type="text/javascript" src="./jquery-1.10.2.min.js"></script> </head> <body>
<html>
<head>
<title>JQuery Testing</title>
<script type="text/javascript" src="./jquery-1.10.2.min.js"></script>
</head>
<body>
<a href="#" class="Links1" id="link1" onclick="nav_bar($(this));">Nav Bar Link 0</a><br/>
<script type="text/javascript">
function nav_bar(thisObject){
var $objectID = thisObject.attr("id");
var $objectClass = thisObject.attr("class");
alert("A Link with Class : " + $objectClass + ", And ID Of : " + $objectID + " Was. Clicked!");
thisObject.preventDefault();
}
</script>
</body>
</html>
由于已使用onclick属性附加事件,因此需要返回false以防止出现默认行为:
<a href="#" class="Links1" id="link1" onclick="return nav_bar(this);">Nav Bar Link 0</a><br/>
或者,如果通过jQuery附加事件,则可以使用preventDefault,但请注意,需要在事件上调用它,而不是在引发事件的元素上调用它:
<a href="#" class="Links1" id="link1">Nav Bar Link 0</a><br/>
方法preventDefauls属于事件,而不是对象。 我修正了你的代码: 函数nav_bare,thisObject{ var$objectID=thisObject.attrid; var$objectClass=thisObject.attrclass; alertA类为+$objectClass+,ID为+$objectID+的链接已被单击!; e、 防止违约; } JQuery测试
您传递了一个jQuery对象,该对象没有默认方法。你也必须传递事件,它具有上述方法。这就解决了它。亚历山大·达扬。谢谢!!我希望这个系统可以投票选择多个答案。你的回答真的教会了我一些新的东西@Rory McCrossan。非常感谢!