显示选择选项时的 JavaScript 事件?

标签 javascript jquery html drop-down-menu

<select> 时会触发什么事件(如果有)元素显示/隐藏其 <options> 列表?

示例:

<select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select>

当您用鼠标单击此选择框时,浏览器会显示选项列表。

但是,当您按 Tab 键进入选择框时,浏览器不会显示选项列表。

这是检查 select 元素内 mouseup 事件的唯一方法还是我遗漏了一些明显的东西?

$(document.body).on('mouseup', 'select', function(){            
    console.log('Either shown or hidden the options...but which?')
});

提前致谢。

附注我正在尝试将一个类添加到 <select>元素显示 <options> 时这样我就可以在浏览器显示“选项弹出框”时显示与不显示“选项弹出框”时不同的自定义插入符号样式。

最佳答案

这意味着选择元素处于焦点。所以在这种情况下你不需要 javascript。您可以使用 css 来满足此要求。

select:focus {
  color:red;
}

但是如果你确实想使用 jquery,它会看起来像这样:

$("select").focus(function(){
  console.log(" h1 ");
})

使用纯粹的 javascript,给你的选择一个 id="select",你可以做这样的事情:

var x = document.getElementById("select");
x.addEventListener("focus", myFocusFunction, true);
x.addEventListener("blur", myBlurFunction, true);

function myFocusFunction() {
    document.getElementById("select").style.backgroundColor = "yellow"; 
}

function myBlurFunction() {
    document.getElementById("select").style.backgroundColor = ""; 
}

关于显示选择选项时的 JavaScript 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39628979/

相关文章:

javascript - Angular 用户界面选择不起作用

javascript - 我编写的 JQuery 代码停止工作,是否有我忽略的错误?

javascript - 我怎样才能创建一个阴影效果完全沿 Canvas 的顶部以外的所有侧面运行?

javascript - 动态创建图像上的滑动面板

javascript - 使用 ngview 时有什么方法可以避免更改 URL 地址栏

javascript - 对数组对象中的数组值求和

jquery - 滚动时滑入动画(同时)

javascript - Jquery 数据表导出按钮上有回调吗?

html - 如何删除以前版本的 bootstrap cdn?

html - 多种分辨率之间的CSS绝对定位