双击已添加的选择选项不起作用
Double click on added select option not working
我有两个选择,它们都使用一个函数向另一个选择添加元素。这是我的:
$("#lecturers option").dblclick(function ()
{
var element = $("#lecturers option:selected");
var value = element.val();
element.remove();
var values = value.split(";")
$("#selected_lecturers").append('<option value="' + value + '">' + values[2] + ', ' + values[1] + '</option>');
});
反之亦然:
http://jsfiddle.net/VJAJB/
不知何故,它只工作一次,并且新添加的元素不会触发该函数。
你知道怎么解决这个问题吗?
问题是如何将dblclick
函数绑定到元素。当前选择器只返回绑定时select
元素中的选项元素。要更改此设置,可以使用委派事件。
$('#lecturers').on('dblclick', 'option', function() {
//Do stuff here
});
这样可以确保您添加到select元素的任何选项元素在双击时都会触发此事件。
这是一个更新的小提琴:http://jsfiddle.net/VJAJB/4/
请注意,其他用户已经为您提供了有效的解决方案。但是,最佳做法是限制绑定到文档本身的事件数量。只要可能,您应该将委托的事件侦听器绑定到最近的非更改元素。
发生这种情况是因为处理程序没有绑定到新元素。您可以这样做,这将把它绑定到一个子代(在本例中为主体),并指定它将应用到的选择器:
$('body').on('dblclick', '#lecturers option', function ()
{
var element = $("#lecturers option:selected");
var value = element.val();
element.remove();
var values = value.split(";")
$("#selected_lecturers").append('<option value="' + value + '">' + values[2] + ', ' + values[1] + '</option>');
});
$('body').on('dblclick', '#selected_lecturers option', function ()
{
var element = $("#selected_lecturers option:selected");
var value = element.val();
element.remove();
var values = value.split(";")
$("#lecturers").append('<option value="' + value + '">' + values[2] + ', ' + values[1] + '</option>');
});
如果两者在绑定时都有父/子元素,则可以使用该元素而不是'body'
来提高性能。
Fiddle:http://jsfiddle.net/VJAJB/2/
您需要使用on
方法。在最新的jQuery版本中是:
$( document ).on( "dblclick", "#lecturers option", function ()
更新的jsFiddle
相关文章:
- 在Internet Explorer中,向所选内容添加选项不起作用
- Angular js-ng选项不起作用
- 传单地图“中心”选项不起作用
- DateBox的dateFormat选项不起作用
- 双击已添加的选择选项不起作用
- jquery ui自动完成combox重新创建选项不起作用
- 谷歌地图中心选项不起作用
- jQuery多选:计数未选择的选项不起作用
- 简单的工具提示插件 - 点击选项不起作用 - jQuery
- AngularJs 选择 ng 选项不起作用
- j查询更改选择选项不起作用
- 在给定现有答案的情况下,更改日期选择器中的 minDate 选项不起作用
- JavaScript 数据表过滤器选项不起作用
- 主干表单提交按钮选项不起作用
- UglifyJS2 , -m 排序选项不起作用
- 在 elgg 中,jQuery 日期选择器选项不起作用
- 删除裁剪后,图像可拖动选项不起作用
- Typeahead.js预取选项不起作用
- 使用javascript选择另一个选项后,循环隐藏选项不起作用
- 完整日历选项不起作用