【问题标题】:why event.stopPropagation(); not working on switch?为什么 event.stopPropagation();不能在交换机上工作?
【发布时间】:2014-05-16 18:26:53
【问题描述】:

你能告诉我为什么 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();
    });
});

【问题讨论】:

  • 它们是完全不同的事件类型。
  • 所以可以限制它们。如果我点击开关它应该只触发开关功能
  • 如果我点击行,它只会触发行功能
  • 有什么想法吗?这个问题的
  • 如果您还需要什么,请告诉我

标签: javascript jquery jquery-mobile


【解决方案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();
    }); 
});

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    相关资源
    最近更新 更多