javascript - Jquery点击事件大于按钮

标签 javascript jquery html css ruby-on-rails

我在使用 Jquery 单击事件时遇到了一些问题。当我单击按钮时该事件会触发,但当我单击按钮的一侧时它也会触发,这会对我正在构建的应用程序产生不良影响。我在下面包含了一个 JSFiddle,它演示了这个问题。如果您单击“下一步”按钮右侧的事件仍会触发。此外,如果您删除 javascript,此行为就会消失。

JSFiddle

Javascript 如下所示:

$(function() {

$(" #sortable ").sortable({axis: "x", containment: "window"});
$( ".clicked" ).click( function() {

   var sortedIDs = $( "#sortable" ).sortable( "toArray", {attribute: 'custom-cl'} );
   alert(sortedIDs);

   var target = "http://localhost:3000/langs";

   $.ajax({
     type: 'get',
     url: target + '?order='+sortedIDs.join(',') ,
     dataType: 'script'
   }); 
});     
});

关于如何解决这个问题并在按钮中包含点击事件有什么想法吗?

提前感谢您的帮助!

最佳答案

那是因为您的点击处理程序设置在包含按钮的 div 上。如果您只想将它​​用于按钮元素,请为其指定一个 ID 并将其设置为该元素。

<div class="clicked"><button id="next" type="button">Next</button></div>

$('#next').click(function(){..});

关于javascript - Jquery点击事件大于按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24101007/

相关文章:

javascript - 使用 ExtJ 滚动和调整大小

javascript - 超时时指向对象的属性

html - html中的子菜单

javascript - 在 Web 应用程序中上传大文件的最可靠方法是什么?

javascript - JavaScript 中的管道函数

javascript - 关于 Nodejs 模块的错误

javascript - 自定义 slider 问题

javascript - 从另一个 div 中的输入复选框中删除属性

jquery - 在 JQuery 中悬停比鼠标悬停有什么优势?

javascript - jQuery 在单击复选框后更改类在多次单击后工作