答案 0 :(得分:1)
看起来您的带有eventhandler
的js代码已多次加载。您最好找出原因。
无论如何,您可以使用.off('click').on('click')
来克服此问题(每次运行代码时,您都将取消现有的eventhandler
(off()
)并设置一个新的on()
$('a.nav-link').off('click').on('click', function(e){ ...});
答案 1 :(得分:0)
就像其他人已经说过的那样,脚本本身可以正常工作,也许是因为您的脚本在页面中多次包含。
$(document).ready(function() {
$('a.nav-link').on('click', function(e) {
e.preventDefault();
var datalist = $(this).data('value');
var dataname = $(this).data('name');
console.log('datalist : ', datalist);
console.log('dataname : ', dataname);
$(".content_div").hide().delay(500).fadeIn(500);
$(".content_div").load(dataname + ".php");
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<nav>
<ul class="nav nav-tabs" id="top-nav" role="tablist">
<li class="nav-item"><a class="nav-link active home" href="#" data-value="home" data-name="home">Aanwezig</a></li>
<li class="nav-item"><a class="nav-link" href="#" data-value="vervoer" data-name="vervoer">Vervoer</a></li>
<li class="nav-item"><a class="nav-link" href="#" data-value="extra" data-name="extra">Overige</a></li>
</ul>
</nav>
<div class="content_div">
</div>
</body>
</html>
答案 2 :(得分:0)
在$(document).ready中放入一条日志语句
FAILED! => {"failed": true, "msg": "subelements lookup expects a list of two or three items, the optional third item must be a dict with flags skip_missing"}
要跟踪调用了多少document.ready。
要确保链接项上的“点击”事件仅被调用一次,您可以对代码进行一些更改
$(document).ready(function() {
console.log('Ready');
$('a.nav-link').click(function(e) {});
});
这是因为调用.click项意味着在该项上添加新的事件处理程序,而不是替换。