我试图在页面加载时触发单击事件,但每次加载页面时只触发一次。发生的事情是在localhost中它工作正常,但是当我上传到服务器时它根本不会发射。
这个想法是在页面加载时将计数器设置为0然后将计数器加1以禁用进一步的点击。显然,某处有错误,但我无法解决。
我正在使用jqwidgets jqxgrid来显示数据并将类作为变量。我也在使用jquery 1.11.1
如果有人可以帮我解决这个问题,我会感激不尽,因为我似乎尝试了很多组合,但是在localhost上没问题,但在服务器上没有。我在服务器上使用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;
}
});
}
}
答案 0 :(得分:2)
如果你正在使用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
});
});
});
});