在IE8和blackberry playbook中,javascript setInterval函数工作不正常
我已经定义了一个点击,除了两个点击,其他所有点击都可以正常工作。我将按如下方式绑定click事件:在IE8和blackberry playbook中,javascript setInterval函数工作不正常,javascript,jquery,setinterval,blackberry-playbook,iscroll4,Javascript,Jquery,Setinterval,Blackberry Playbook,Iscroll4,我已经定义了一个点击,除了两个点击,其他所有点击都可以正常工作。我将按如下方式绑定click事件: $('#next_item').bind(myDown,function (e) { config.scrolling = true; config.scrollTimer = setInterval(function (e) { if(!config.scrolling) return false; if(myScroll.x >= mySc
$('#next_item').bind(myDown,function (e) {
config.scrolling = true;
config.scrollTimer = setInterval(function (e) {
if(!config.scrolling) return false;
if(myScroll.x >= myScroll.maxScrollX){
myScroll.scrollTo((config.itemWidth+config.itemBoxSpacing), 0, 400, true);
}else{
config.scrolling=false;
clearInterval(config.scrollTimer);
}
}, 100);
return false;
});
我正在使用。#next_项
用于滚动动态添加的div onclick<之所以使用code>setInterval function(),是因为单击一次我想滚动一个div,而单击鼠标向下我想滚动div直到我执行mouseup。现在的问题是在黑莓playbook中一次点击多个div滚动条,但在ipad、android平板电脑和包括IE8在内的桌面浏览器中效果良好。另外,当我在blacberry playbook中执行mousedown时,div会一直滚动到最后,并且不会在mouseup时立即停止,对于IE8,div会停止,并且滚动似乎setInterval无法正常工作。在IE8和blackberry playbook中,需要做哪些更改才能实现这一点
更新:
var isIOS = config.isIpad || config.isIphone || config.isAndroid;
var myDown = isIOS ? "touchstart" : "mousedown";
var myUp = isIOS ? "touchend" : "mouseup";
$('#next_item').bind(myUp,function (e) {
config.scrolling = false;
clearInterval(config.scrollTimer);
return false;
});
我已经解决了黑莓问题。我只需要修改一行代码
var isIOS = 'ontouchstart' in document.documentElement; /*This detects all touch devices*/
在我之前的代码中,我没有检测到blackberry playbook,因此它接收到mousedown事件,这导致触摸设备的默认touchstart
事件与mousedown
事件一起触发,从而产生意外结果
我仍然无法解决IE8问题。请任何人建议为IE8做些什么。$(“#下一项”).bind(myDown,myDown来自哪里?@AndréAlçadaPadez我已经更新了代码