2013-04-27 64 views
1

我堅持這似乎只在Win7的64個瀏覽器和8的Javascript mousemove事件時不捕獲在win7下/ 8

我的應用程序出現問題使用「JQuery的滑塊」 64個瀏覽器(見http://egorkhmelev.github.io/jslider/ )在我可用的所有測試環境下都能正常工作 - 我在該平臺上的Chrome,Safari和Firefox上進行OS-X測試下開發,XP-SP3上的相同三種,以及IOS下的Safari。

某些用戶(以及客戶)已經證明,滑塊在Windows 7下的Chrome,Firefox和Safari下不會移動。但使用Opera時,滑塊的行爲與預期相同。看來,共同的因素是64位瀏覽器和64位MS操作系統。奇怪的是,滑塊在IE下工作,但爲大學開發的應用程序不需要支持任何版本的IE。

我已經檢測到響應mousemove事件並確定它不會觸發問題系統的函數。

綁定代碼:

this._bindEvent($(document), "move", function(event){ 
    if(self.is.drag){ 
     event.stopPropagation(); 
     event.preventDefault(); 
     self._mousemove(event); 
    } 
}); 

它看起來合理的,我(除了間距;-),和我所有的測試環境下,肯定效果很好。

我的問題:有沒有人遇到類似的問題,或知道64位瀏覽器下的特殊要求?

我的應用程序位於PaperMiner.org.au,您可以嘗試滑塊而無需註冊或任何東西。

回答

0

已找到問題。 JQuery Slider響應點擊和觸摸事件。代碼如下所示:瀏覽器,Firefox和Safari的MS Windows 7和8,本次測試報告「真實」下運行

this.supportTouches_ = 'ontouchend' in document; 
    this.events_ = { 
     "click": this.supportTouches_ ? "touchstart" : "click", 
     "down": this.supportTouches_ ? "touchstart" : "mousedown", 
     "move": this.supportTouches_ ? "touchmove" : "mousemove", 
     "up" : this.supportTouches_ ? "touchend" : "mouseup" 
    }; 

在64位版本,所以後來代碼等待事件,永遠不會觸發。真正的問題是測試需要更嚴格,所以只有實際的觸摸驅動設備綁定「觸摸」事件。問題4817029有一些答案,但測試表明最近的瀏覽器版本已經否定了在那裏找到的解決方案。 IOS或Android測試可能更可靠...