【发布时间】:2011-11-09 08:29:39
【问题描述】:
我想点击<select>,但停止它以显示他的下拉列表
$('select').click(function(){
if ($(this).find('option').size() > 20) {
// some code to do my job
return false;
}
});
代码return false可以在Firefox中停止下拉列表显示(实际上是先显示下拉列表,稍等片刻后隐藏),但在Chrome中不起作用。
我也试过让<select>被禁用,在它上面触发blur(),或者在其他元素上触发click(),但是下拉列表仍然存在,除非用户点击其他地方。
这可能吗? ...谢谢!
长篇大论在这里(如果您对我为什么要这样做感兴趣):
如您所知,有时会有一个
<select>太多<option>在里面,点击后会有一个长下拉 列表。在长长的下拉列表中找到你需要的东西是一项糟糕的工作...... 但不幸的是,我的网站上有很多内容。所以我认为最简单的方法是写一些javascript来改变 that, when option is more than 20, show a dialog with a filter and a 新的
<select>,它只过滤了<option>,方便查找。我的问题是下拉列表仍然显示,让我的用户 迷茫……他们不知道在哪里操作。 “对话框或 原点选择”。
【问题讨论】:
-
您是否尝试过
.mousedown并将其设置为禁用或返回函数false?我认为这不起作用,因为您使用的是.click-event。