如何解决反击javascript .click或替代href
| 我目前在标头中运行一个网站和一个javascript <script type=\"text/javascript\" src=\"js/jquery-1.6.1.js\"></script>
<script type=\"text/javascript\">
$(document).ready(function() {
$(\'a\').click(function(e){
e.preventDefault();
document.location.href=\'shows.php?ref=\'+this.href;
return false;
});
});
</script>
它将更改所有标签。现在,我添加了一个PHP include来包含一个导航栏。问题是javascript还更改了导航链接,这使它们失败。
在href中是否可以替代a?我可以抵消nav页面中的javascript,还是可以排除当前javascript中的nav页面?
谢谢
解决方法
使用适当的选择器来缩小选择范围。假设真实内容在ID为
content
的div
中,请使用
$(\'#content a\').click(function(){...});
您没有发布HTML结构,但这应该给您正确的想法。如有必要,添加ID。
, 鉴于您可以使用选择器选择导航,例如
<div id=\"nav\"><!-- your links --></div>
您可以选择除导航中的链接以外的所有链接
$(\"a:not(#nav)\").click(/* your function */);
, 您可以取消在导航栏中为锚定元素绑定click事件处理程序。
假设您的导航栏容器由id = \“ nav_bar_id \”标识。然后,您可以执行以下操作:
$(\'#nav_bar_id a\').unbind(\'click\');
这将从所需的<a>
中删除onclick处理程序,而无需修改先前的脚本
, 如果要排除该行为的导航链接(而不是将行为附加到某些链接),请给它们提供一个类,然后在javascript中:
$(\'a\').not(\'.nav_class\').click(function(e){...});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。