首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拖放(Dragger事件)阻止onclick

拖放(Dragger事件)阻止onclick
EN

Stack Overflow用户
提问于 2017-02-01 13:44:00
回答 1查看 1.3K关注 0票数 1

我们使用了一个名为杰西的jquery库,它运行良好。

问题是我们有一个li属性,其中我们使用了onclick事件。但不知怎的,它停止了工作,我们无法调用onclick事件。这是更好理解的小提琴。

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://www.jqueryscript.net/demo/Simple-jQuery-Plugin-For-Drag-Drop-Sorting-Of-Lists-jesse/jquery-jesse.js"></script>


<script type="text/javascript">
  
$(function(){
  
  // removing image onclick close button 
  $("#list").on("click", ".close_product", function (event) {
    console.log('inside onclick function');
    });
  
		$('#list').jesse({
			onStop: function(position, prevPosition, item) {
				console.log('inside list function');
				if(position == 0){
					item.addClass("drop-high").removeClass("drop-small");;
					$( "#list" ).find( "li:nth-child(2)" ).removeClass("drop-high").addClass("drop-small");
				}
				if(prevPosition == 0){
						item.addClass("drop-small").removeClass("drop-high");
					$( "#list" ).find( "li:nth-child(1)" ).removeClass("drop-small").addClass("drop-high");
				
				}
			},
		});
	});
  </script> 
 <ul class="jq-jesse" id="list">
                                  <li class="drop-high"><div class="high"><div class="close close_product">X</div><img src="https://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2016/04/1459870313PHP-logo.svg.png" width="20%"></div> </li>
                                  <li class="drop-small"><div class="high"><div class="close close_product">X</div><img src="https://phpwomen.org/holdingpage/images/usergroups/phpne.png" width="20%"></div> </li>
                                  <li class="drop-small"><div class="high"><div class="close close_product">X</div><img src="http://d3gnp09177mxuh.cloudfront.net/tech-page-images/php.png" width="20%"></div></li>
                                  <li class="drop-small"><div class="high"><div class="close close_product">X</div><img src="http://unitedwebsoft.in/blog/wp-content/uploads/2013/07/advantage-of-php.jpg" width="20%"></div></li>
                                
                                </ul>

正如您在上面看到的,我有onclick函数,但是它不能工作。我怎么才能让它起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-07 22:51:05

库不使用拖动事件。它监听mousedown,如果被触发,它将停止使用e.preventDefault();的默认执行,并监视$(document).on('mousemove').on('mouseup')

因此,关闭div无法听到任何click事件。您可以稍微修改库文件,使其识别关闭的单击。

  1. 向类添加特定设置,例如,closingClass (第7行) var设置= $.extend({ closingClass:‘closingClass’,选择器:'li',dragClass:'_isDragged',占位符:‘},选项);
  2. 通过添加以下3行更改关闭div时的单击侦听: if($(e.target).hasClass(settings.closingClass)) (‘mousedown’,settings.selector,函数(E){返回真;}
  3. 就这样。现在,您不能使用具有closingClass的div拖动。您可以添加自己的侦听器。

小提琴有固定的库代码.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41981330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档