我正在创建一个使用owl轮播和php.there鼠标点击事件完美工作的图像gallary但是当有问题的键盘上的单击命令仅在prev keyup上跳过一个图像而且只是第一次。在该函数内部编写代码时,哪些代码在keyup函数之后调用
$(document.documentElement).keyup(function(event) {
// handle cursor keys
if (event.keyCode == 37) {
$(".prev").click();
});
var prevkey = $(".prev");
prevkey.unbind("click").click(function() {
$(".reset").click();
setTimeout(function() {
$(".printable").load(function(){
$(".owl-carousel").myfunction();
});
}, 200);
curEle = $(".item.active").parent();
//console.log(curEle);
if(curEle.find(".item").attr("data-id")==0)
{
$(this).addClass("disabled");
}
else
{
$(this).removeClass("disabled");
prevEle = curEle.prev();
console.log(prevEle);
prevEle.find(".item").addClass("active");
curEle.find(".item").removeClass("active");
prevEle.find(".printable").attr("src",prevEle.find(".printable").attr("data-src"));
carousel.trigger("owl.prev");
curEle.find(".printable").attr("src","");
}
});
答案 0 :(得分:1)
插入preventDefault()
以避免除您之外的其他事件......
$(document.documentElement).keyup(function(event) {
// handle cursor keys
event.preventDefault();
if (event.keyCode == 37) {
$(".prev").click();
}
});
编辑如果您使用IE8
答案 1 :(得分:0)
尝试使用一个将阻止第二次调用
$(".prev").one("click",function(){
//your stuff
});