如何防止onclick事件在select选项中触发
how to prevent onclick event to trigger in select option
我有一个选择,它在单击时触发事件。但我想防止它在单击相应选项时再次触发。
有办法做到这一点吗?
试试onchange怎么样。因此,如果所选内容没有变化。不会触发任何内容。
只需使用onchange事件。以下是一个示例:https://jsfiddle.net/rafb0vyw/2/
$('#sel').on('change', function() {
alert('change');
})
您可以检查event.target
属性,该属性将具有不同的值。像这样:
var select = document.querySelector('select');
var span = document.querySelector('span');
select.onclick = function(e) {
// show e.target in snippet (you would remove this line in your code):
span.textContent = 'You clicked on ' + e.target.tagName + '.' +
' Current selected value is ' + select.value;
if(e.target.tagName !== 'SELECT') return; // ignore
// The rest of your event handling comes here...
// This will only be executed when you click the SELECT and not the OPTION.
};
<select>
<option value = 'A'>Option A</option>
<option value = 'B'>Option B</option>
</select>
<span></span>
请确保在事件处理程序函数中定义了事件参数(在上面的示例中命名为e)。
相关文章:
- 无法在Ionic select中预先选择最后一个选项
- 根据select选项元素将表单重定向到不同的URL
- jQuery动态表单显示在select选项上
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- 如何在触发事件后选择select选项
- 当使用select作为标签时,如何使用ng选项禁用angularjs中的选项
- 如何在Javascript中从select标记的一系列选项中构建二维数组
- jQuery:根据select选项中的每页项目进行分页
- Angularjs-设置不带ng选项的select的默认值
- HTML SELECT-使用JavaScript按VALUE更改所选选项
- 需要将select标记选项值传递给ajax函数
- 单击select'时将数组行回显到文本区域中;s选项
- 使用JavaScript删除多个select选项
- 使用select选项转换时间.使用javascript
- 如何在选项select上使用jquery自动完成进行回发
- 为选项select设置多个值,并使用jQuery获取这些值
- AngularJS的默认选项select在IE9中不起作用
- 修改选项(select)元素的值
- Jquery选择器抛出选项(select)错误
- 在AngularJS中使用ng选项和选项select