我有一个select
元素,我想检测用户悬停在哪个option
上。我在这里使用ShankarSangoli编写的代码,但它不起作用。我已经在Chrome中进行了测试。
JSFiddle
$("select").hover(function (e)
{
var $target = $(e.target);
if($target.is('option')){
alert($target.attr("id"));//Will alert id if it has id attribute
alert($target.text());//Will alert the text of the option
alert($target.val());//Will alert the value of the option
}
});
您尝试实现的功能在Chrome和IE中尚不可用。这在您当前提到的问题中指出。
正如 @purgatory 101 所指出的,巧妙地使用组合框将允许您"挂钩"额外的 jquery,这可能允许您在悬停时发出 alert();
只需将源工作到 combobox,这将是正确方向的指针:
$('ul.ui-autocomplete ui-menu li').hover(function(){
//do your stuff here.
});
IE和Chrome不支持将鼠标悬停在选项元素上,正如Limelights指出的那样。但是,如果您已经习惯使用jQuery,则可以尝试使用组合框,它可以使用底层选择,但使用ul和li元素构建选项。
实现此目的的唯一方法是使用使用 HTML + JS + CSS 而不是本机控件的SELECT
替换。
选项:悬停适用于IE11 - 呜呜!