防止下拉,直到所有选项完全添加到jQuery

时间:2016-05-20 01:29:57

标签: javascript jquery

我在点击事件中动态地为我的下拉列表添加选项。我的问题是在所有选项完成添加之前下拉下拉,用户可以看到附加选项。

我的代码如下所示。

endlocal

如何在所有选项添加完毕后确保下拉列表中断?

3 个答案:

答案 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');
});