Javascript onChange仅在使用鼠标时发生
Javascript onChange only when using mouse
我有一个Javascript函数,用于捕获选择下拉菜单的onChange。是否有可能仅在用户使用鼠标从下拉菜单中选择项目时触发事件,而不是在使用键盘向上或向下滚动时触发事件?
Have you tried this :
<html lang="en">
<head>
<meta charset="utf-8">
<title>change demo</title>
<style>
div {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<select name="sweets" multiple="multiple">
<option>Chocolate</option>
<option selected="selected">Candy</option>
<option>Taffy</option>
<option selected="selected">Caramel</option>
<option>Fudge</option>
<option>Cookie</option>
</select>
<div></div>
<script>
$( "select" )
.change(function () {
var str = "";
$( "select option:selected" ).each(function() {
str += $( this ).text() + " ";
});
$( "div" ).text( str );
})
.change();
</script>
</body>
</html>
Trigger the handler
</div>
检查此解决方案,它忽略键盘选择,只能使用鼠标选择
<script type="text/javascript">
function IgnoreAlpha(e)
{
if (!e)
{
e = window.event ;
}
if (e.keyCode >= 65 && e.keyCode <= 90) // A to Z
{
e.returnValue=false;
e.cancel = true;
}
}
</script>
<body>
<p>
<select id="MySelect" name="MySelect" onkeydown="IgnoreAlpha(event);"">
<option selected="selected" value="" />
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</p>
</body>
试试这个。这是在IE工作很好,但不是在chrome。不知道为什么?使用IE调试器工具进行测试(工作正常),也使用VS2015 (IE,在keydown上击中断点)工作,但在chrome中运行时未击中断点。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
</script>
<script type="text/javascript">
function IgnoreArrow(e)
{
if (e.keyCode == 37 || e.keyCode == 38 || e.keyCode ==39 || e.keyCode ==40 )
{
return false;
}
}
function myFun() {
var x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
}
</script>
</head>
<body>
<p>
<select id="mySelect" name="mySelect" onkeydown="return IgnoreArrow(event);" onchange="myFun()">
<option selected="selected" value="" />
<option value="Dream Theater">Dream Theater</option>
<option value="Metallica">Metallica</option>
<option value="Iron Maiden">Iron Maiden</option>
</select>
</p>
<p id="demo"></p>
</body>
</html>
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 当鼠标悬停在文本中的单词上时显示警报
- JsFiddle上的鼠标事件不起作用
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 将鼠标旋转限制为特定的度数
- 跟踪jqplot垂直折线图的鼠标位置
- Onchange没有'不要显示或隐藏Div
- Javascript Select OnChange没有'不要第二次工作
- node-webkit-从父窗口捕获iframe鼠标事件
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- Javascript-在视频中跟踪鼠标位置
- JQuery UI可拖动潜水与滚动棒到鼠标
- 如何在jquery中找到鼠标滚轮/触摸移动事件的走向
- Javascript Trigger onChange 无需执行鼠标或键盘
- 如何查找导致IE中选择框的onChange事件的原因-键盘或鼠标
- Javascript onChange仅在使用鼠标时发生