jquery – 点击一个元素触发点击移动Safari上同一位置出现的另一个元素(幽灵点击)

当有人点击按钮时,会导致出现另一个页面.为了防止tap出现在新页面上的另一个元素级联,我们使用preventDefault.我们已经将此视为StackOverflow上其他地方问题的解决方案.但是,它不适合我们.

码:

// Bind what happens when user taps on app
$( '#templates .app_box' ).on( 'tap',function( ev ) {
    // Get itunes ID
    APP_PICKED = $( this ).attr( 'itunes_id' );

    // If on category page,update category history with new path
    if ( panabee_get_active_page().attr('id') == 'category_page' ) {
        // Get app path and scrub app from it
        var app_path = $(this).attr( 'path' );
        app_path = app_path.substring( 0,app_path.lastIndexOf(PATH_DELIMITER) );

        // Convert path string into array and store in history
        CATEGORY_PICKED_HISTORY = get_path_array( app_path );
    }

    // Show app
    if ( playing_game() ) {
        play_app_game( this );
    } else {
        panabee_change_page( '#app_page' );
    }

    // Prevent double tap
    ev.preventDefault();
});

复制:

1)从iPhone上访问www.tekiki.com.

2)点击第一个应用程序图标.这会导致应用页面出现.如果您点击正确的位置,原始点击会导致下载按钮(在应用页面上)被触发.

解决方法

我们的问题是我们使用自定义代码触发了tap事件.我们通过使用jQuery Mobile(1.3.2)来修复此问题.它很臃肿,但它可以工作并处理所有触摸事件,如点击和滑动.

相关文章

1.第一步 设置响应头 header('Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...