触发器单击hover时的选择框

我正试图让一个select框在用户盘旋时自动弹出,好像他们点击了它一样。 这可能吗?

我想我可以用jQuery轻松做到这一点……

 $("#settings-select").mouseover( function(){ $(this).trigger("click"); } ); 

但这没有任何作用。 有任何想法吗?

我终于让它上class了! 你需要选择 ; 正如其他人所指出的那样,你不能用普通的select来做这件事,因为没有可用的事件。 但是当你鼠标hover时,这将弹出菜单,当你鼠标移开时关闭它,这是我想要的确切效果。

HTML:

  

JS:

 $("#dropdown").chosen().next(".chzn-container").hover( function(){ $("#dropdown").trigger("liszt:open"); }, function(){ $(this).trigger("click"); } ); 

$("#dropdown").trigger("liszt:open"); 什么打开菜单。 当你想要关闭时,触发没有等效的liszt:close事件(据我所知),但触发click它会产生相同的效果。

已经有一段时间但有一个我没有在这里看到的解决方案,使用hover来改变select的长度:

 $('select').hover(function() { $(this).attr('size', $('option').length); }, function() { $(this).attr('size', 1); }); 

http://codepen.io/anon/pen/avdavQ

这里有一支笔,它不仅仅是一个必需品,还有一些造型:

演示

触发器只调用通过jQuery的一个绑定函数绑定的函数。

没有跨浏览器的方式从javascript打开一个选择( 可能在某些版本的IE上调用this.click()但我无法测试,我确信在其他浏览器上没有办法) 。

这是不可能的。 您只能实现自己的选择框或选择插件,但这对可用性不利。 还要考虑trigger('focus')

不幸的是,选择方法 – 对我来说不起作用。

但我想我可以在jQuery上创建自己的选择器。

HTML:

 

Select option

JS:

 $('.hidden p').click(function(){ $(this).closest('.select').find('.input').text($(this).text()); $(this).closest('.select').find('input').val($(this).attr('value')); $(this).closest('.select').trigger("change"); }); $('.select').change(function(){ // ... do stuff }); 

https://codepen.io/qwer643/pen/LebKpo