css指针 - 事件属性更改和相应的jquery事件不会一起触发

use*_*234 7 javascript css jquery css3 iscroll4

这是我的代码段.我使用iscroll 4滚动触摸设备和桌面.

$('#next_item').bind('mousedown touchstart',function (e) {
        //do something onclick
        $(this).bind('mousemove touchmove',function(e){ //triggers only when i drag over it                 
                dragstart = true;
                $(this).css('pointer-events', 'none');
                myScroll._start(myDown);
                return;                     
        });
});

$('#next_item').bind('mouseup touchend',function (e) {
     if(dragstart) {
        dragstart = false;
        $(this).css('pointer-events', 'auto');
     }
});
Run Code Online (Sandbox Code Playgroud)

我有一个click事件,在#next_item该事件上执行特定任务,并且还有拖动事件,在#next_item该事件上执行不同的任务.现在问题是当#next_item接收拖动事件时css pointer-events,none立即更改为拖动但不会触发拖动.当我这样做mouseup然后再从上方拖动时,#next_item只触发拖动.我需要css pointer-events将拖动事件传递给底层元素.如果我做错了,请建议.没有pointer-eventsiscroll在传递下面的拖动事件时会出错#next_item

199*_*rk4 10

  1. 如果要禁用元素的指针事件,请执行以下操作.css():

    $('#element_id').css('pointer-events','none');
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果要为元素启用指针事件,请执行以下操作.css():

    $('#element_id').css('pointer-events','');
    
    Run Code Online (Sandbox Code Playgroud)

在#1中,元素被禁用,然后您无法访问该元素.

在#2中,相同的元素被启用,您可以对其执行其他jQuery操作.


Mur*_*aza 3

在您的页面中包含以下内容<script>

超文本标记语言

<head>
  <script src="http://code.jquery.com/jquery.min.js"></script>
  <script src="http://code.jquery.com/ui/1.8.17/jquery-ui.min.js"></script>
  <script src="jquery.ui.touch-punch.min.js"></script>
  <script>
    $(document).ready(function () {
      $('#widget').draggable();   // This is required for drag...
      $('#widget').dialog().addTouch();

      // Here you call your functions and perform
      // the functionality for touch and drag...

    });
   </script>

</head>
<body>
  <div id="widget" style="width:200px; height:200px border:1px solid red" ></div>
</body>
Run Code Online (Sandbox Code Playgroud)

这只是一个示例,因为我完全不知道您想要从代码片段中获得什么功能。它可能无法回答您的整个问题,但这是解决问题所需的逻辑流程。