我试图在页面加载时触发点击事件,但每个页面加载时仅触发一次。发生的情况是,在本地主机中它工作正常,但是当我上传到服务器时它根本不触发。
这个想法是在页面加载时将计数器设置为 0,然后将计数器加 1 以禁用进一步的点击。显然,某个地方有错误,但我无法解决它。
我正在使用 jqwidgets jqxgrid 来显示数据并将类作为变量。我也在使用jquery 1.11.1
如果有人能帮助我解决这个问题,我将不胜感激,因为我似乎尝试了很多组合,但在本地主机上可以,但在服务器上什么也没有。我在服务器上使用 php v5.3.13 wamp 和 5.4。非常感谢
var counter = 0;
window.onload = function() {
var calendaricons = document.getElementsByClassName('jqx-icon-calendar');
for (var i = 0; i < calendaricons.length; i++) {
calendaricons[i].addEventListener('click', function() {
if (counter === 0) {
notif({
type: "info",
msg: "Test Message",
width: 650,
height: 99,
multiline: true,
position: "center",
fade: true,
//timeout: 3000,
autohide: false,
clickable: true
});
counter++;
} else {
return false;
}
});
}
}
最佳答案
如果您使用 jQuery(看起来确实如此),您可以使用 one
函数,该函数允许您的处理程序仅运行一次。
这是使用 one
函数的代码:
$(window).load(function() {
$('.jqx-icon-calendar').each(function(index, item) {
$(this).one("click", function() {
notif({
type: "info",
msg: "Test Message",
width: 650,
height: 99,
multiline: true,
position: "center",
fade: true,
//timeout: 3000,
autohide: false,
clickable: true
});
});
});
});
关于javascript - 点击事件未正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075083/