2012-12-18 84 views
0

我打電話Mobiscroll如下:Mobiscroll在Chrome中出現故障,工作正常FF和IE

$(joInputField).scroller({ 
    width:  60, 
    wheels:   wheels,  // wheels variable has been defined above 
    headerText:  false, // false for production! 
    onSelect:  function(){ // event fired by BOTH set and cancel 
     var stDate = ''; 
     var rawDate = $(joInputField).scroller('getValue'); 
     // a bunch more code 

Mobiscroll的這種設置工作正常,在這兩個火狐17和IE9。但是,它在Chrome 23中完全失敗。在Chrome中,當我點擊輸入字段以彈出Mobiscroller時,我甚至會刷新頁面。

點擊事件會附加到應該的位置,所以我認爲這不是我的HTML頁面中令Chrome瀏覽器不滿意的事情。另外,我沒有在控制檯中發現任何錯誤。

我剛剛將Mobiscroll從1.5升級到2.3.1,這沒有什麼區別。在Chrome中仍然失敗,並且像FF & IE中的魅力一樣工作。

任何人都有預感嗎?

+0

這是不足夠的信息。請附上所有代碼或創建一個演示問題的jsfiddle。 – dioslaska

回答

1

好的,終於有時間弄清楚了。

這是我的輸入要素的配置:

<input id="mobiScroll" class="mobiscroll scroller" type="image" readonly="" value="5 07 05 19 5 5" name="mobiDick" src="<?php echo $options['assetsBase'] ?>/img/calendar-icon-40px2.png"> 

事實證明,在這種配置中,具有圖像覆蓋的輸入元素,鍍鉻不火的焦點事件。而Mobiscroll依賴於該焦點事件。

最簡單的解決方案(即最不耗時)是這種解決方法,點擊輸入元素會在所述元素上引發焦點事件,從而啓動Mobiscroll。

// work around a Chrome quirk where focus event is not raised on input element: 
joInputField.click(function() { 
     joInputField.trigger('focus');      
}); 

希望這有助於一個人,在路上的某個地方......

相關問題