jquery change()警报一次点击会触发6次?

jQuery(document).ready(function($) { $('.c5sliderSelect').change(function() { alert('change clicked'); }); }); 

当我更改选择列表项时,我收到6个警报。 不知道为什么。 我只在标记中有一个带有此类名的元素,而选择列表有10个选项。

任何想法为什么警报会针对单个更改事件多次触发?

标记:

  Custom Text Blog (10) Digital Cameras (3) GPS Systems (1) Healthy Herbal Teas (1) hidden (1) iPhone 4s (2) Samsung Galaxy (5) Smart Phones (5) Uncategorized (7)  

我在这里要做的是当所选项目的值为“”时隐藏不相关的div

尝试使用除alert其他内容 alert对焦点有可怕影响,当然change事件与focus 。 尝试console.log或类似的。

例如,使用标记的此实例仅显示触发的单个change事件。

描述

使用click()绑定来捕获点击并使用$jQuery.noConflict()来保证不与其他JavaScript库冲突。

样品

 $(document).ready(function() { $('.c5sliderSelect').click(function() { alert('change clicked'); }); }); 

要么

 $.noConflict(); jQuery(document).ready(function() { jQuery('.c5sliderSelect').click(function() { alert('change clicked'); }); }); 

更多信息

  • jQuery.noConflict()
  • jQuery.click()

更新

只是为了澄清click() ,使用click()是一个鼠标事件,它不会使用键盘捕获更改。

这意味着对于您的jQuery脚本,元素存在6次。 您可能已经初始化了6次元素,或者在您的情况下,某些脚本更改了元素$(’。c5sliderSelect’),但上述脚本不足以确定这一点。

如果你想使用点击function:

 $('.c5sliderSelect').click(function() 

改变可能不是你正在寻找的正确事件……