Mobiscroll在Chrome中失败,在FF& IE

时间:2012-12-18 12:11:57

标签: mobiscroll

我将Mobiscroll称为如下:

$(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的这种设置在Firefox 17和IE9中都能正常工作。但是,它在Chrome 23中彻底失败。在Chrome中,当我点击输入字段以弹出Mobiscroller时,我甚至会刷新页面。

点击事件按原样附加,因此我认为HTML页面中的内容不会影响Chrome。另外,我在控制台中没有收到任何错误。

我刚刚将Mobiscroll从1.5升级到2.3.1这没有任何区别。在Chrome中仍然失败,并且在FF& amp; IE。

任何人都有预感?

1 个答案:

答案 0 :(得分: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">

事实证明,在此配置中,如果图像覆盖输入元素,则Chrome不会触发焦点事件。 Mobiscroll依赖于焦点事件。

最简单的解决方案(即耗时最少)是这种解决方法,单击输入元素会在所述元素上引发焦点事件,从而启动Mobiscroll。

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

希望这能帮到某个人,不管怎样......