为什么event.stopPropagation();不工作开关?

时间:2014-05-16 18:26:53

标签: javascript jquery jquery-mobile

你能告诉我为什么event.stopPropagation();不在开关上工作?

我点击它点击它打印行事件(控制台)。它应该只打印交换机控制台。

当我更换开关时,它打印开关控制台。但是当我点击单击区域时,它会打印行事件(控制台)。为什么? http://jsfiddle.net/k7zJ4/

$(function(){
$('#testSuitConfiguration').click(function () {

console.log('pp')    

});

  $( ".selectSequenc_h" ).on( "change", function(event, ui) {
        //alert('pp')
        console.log('==')
        event.stopPropagation();
    });
});

1 个答案:

答案 0 :(得分:1)

工作示例:http://jsfiddle.net/pT2bU/1/

的JavaScript

$(document).on('pageinit', '#home', function(){ 
    $(document).on('vclick','#testSuitConfiguration',function () {
        console.log('pp')    
    });

    $(document).on( "slidestop", ".selectSequence_h" ,function( event, ui ) {
        console.log('==');
        event.stopPropagation();
        event.stopImmediatePropagation();
    }); 
});

我已将点击事件替换为名为 vclick 的jQuery Mobile版本,此版本不会受到事件传播的影响,并且适用于桌面和移动浏览器。