jquery .bind(' click.select')无法在移动设备上运行

时间:2014-10-01 23:55:54

标签: javascript jquery backbone.js

所以我有这个代码,只要页面是onLoad,用户就无法点击任何链接,除非它已完成在特定区域加载页面。

// note: this events are for the specific li tags of this.ui.liLink
'events' : {
    'click @ui.catalogTab'      : 'showCatalogsTabView',
    'click @ui.transcriptTab'   : 'showTranscriptsTabView',
    'click @ui.facilitationTab' : 'showFacilitationTabView'
},
'ui' : {
    'liLink' : '.catalog-menu > ul > li'
},

'enableTabClick' : function () {
    this.ui.liLink.removeClass( 'disabled' );
    this.ui.liLink.unbind( 'click.select' );
},

'disableTabClick' : function () {
    this.ui.liLink.addClass( 'disabled' );
    this.ui.liLink.bind( 'click.select', false );
}

这在桌面上工作得很好但是当我在移动设备上使用它时,.bind()不起作用,并且不会禁用点击事件的事件监听器。我如何在移动设备上进行操作?

2 个答案:

答案 0 :(得分:1)

所以我终于解决了我的问题。在移动设备中,您必须要监听的事件是touchstart。所以我把它添加到我当前的代码中。

    'enableTabClick' : function () {
        this.ui.liLink.removeClass( 'disabled' );
        this.ui.liLink.unbind( 'click.select touchstart' );
    },

    'disableTabClick' : function () {
        this.ui.liLink.addClass( 'disabled' );
        this.ui.liLink.bind( 'click.select touchstart', false );
    },

答案 1 :(得分:0)

这可能是因为在移动设备中没有此类事件“点击”。尝试移动事件 - 例如“点击”或“拖动”。我认为这个问题。