我在点击事件中动态地为我的下拉列表添加选项。我的问题是在所有选项完成添加之前下拉下拉,用户可以看到附加选项。
我的代码如下所示。
endlocal
如何在所有选项添加完毕后确保下拉列表中断?
答案 0 :(得分:3)
$(document).on('mousedown', '.someDropdown', function(e) {
$(this).append('<option class="someClass" value="foo">Foo</option>');
});
当在所选元素上按下鼠标左键时,会发生mousedown事件。
mousedown()方法触发mousedown事件,或附加函数以在发生mousedown事件时运行。
答案 1 :(得分:0)
你可以在追加之前隐藏你的someDropdown并在追加后显示它
答案 2 :(得分:0)
我假设您的下拉列表是JS控制的,并且您实际上有两个点击处理程序用于您的下拉列表:一个用于显示下拉列表,另一个用于附加选项。这造成了竞争条件。如果您通过css控制下拉列表,则可以消除竞争条件并在下拉列表显示之前附加选项。
$(document).on('click', '.someDropdown', function(e) {
$(this).append('<option class="someClass" value="foo">Foo</option>');
$(this).addClass('enabled');
});