onClick不在手机上工作(触摸)

Dal*_*ale 32 javascript safari mobile jquery onclick

好吧,我想要做的是在用户点击列表项时向下滑动div.

问题是我使用的是Selectric https://github.com/lcdsantos/jQuery-Selectric,它将Select框转换为无序列表.因此,当用户单击源输出作为列表项时,我希望div向下滑动.

在移动版Safari(iOS7)中,选择框UI与标准选择框UI相同.

关于onClick移动设备的最佳做法是什么?

基本jquery:

$(window).load(function() {
        $('.List li').click(function() {
            $('.Div').slideDown('500');
        });
    });
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到一个工作示例(侧栏上的高级搜索)

谢谢.

Jai*_*Jai 84

更好地使用jQuery方法的touchstart事件.on():

$(window).load(function() { // better to use $(document).ready(function(){
    $('.List li').on('click touchstart', function() {
        $('.Div').slideDown('500');
    });
});
Run Code Online (Sandbox Code Playgroud)

我不明白你为什么要使用$(window).load()方法,因为它等待页面上的所有内容都要加载,这往往很慢,而你可以使用$(document).ready()不等待页面上的每个元素首先加载的方法.

  • 非常感谢.奇迹般有效. (2认同)

Ram*_*dar 8

你可以使用而不是点击:

$('#whatever').on('touchstart click', function(){ /* do something... */ });
Run Code Online (Sandbox Code Playgroud)

  • 只需注意:此代码将针对同时触发了两个事件的设备或Chrome开发工具触发两次,而移动设备则视图为视图 (8认同)