简体   繁体   English

如何在 onChange 中为 select 标签使用 e.preventDefault

[英]How to use e.preventDefault inside onChange for select tag

Is there a way we can stop changing the select tag value by using preventDefault .有没有办法我们可以停止使用preventDefault更改 select 标签值。 I can prevent input from changing the value by using event.preventDefault But not able to prevent the select tag from changing the value.我可以通过使用event.preventDefault来防止输入更改值,但不能防止 select 标签更改值。

Here's a sample code:这是一个示例代码:

 document.getElementById('my-select').addEventListener('select', function(event) { event.preventDefault() }); document.getElementById('my-input').addEventListener('keypress', function(event) { event.preventDefault() });
 <select id="my-select"> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <input type="text" id="my-input">

Select event listener should be 'change' instead of.addEventListener('select'... Select 事件监听器应该是 'change' 而不是.addEventListener('select'...

However, the change event in a select HTML element is not cancellable in order to call preventDefault().但是,为了调用 preventDefault(),不能取消 select HTML 元素中的更改事件。 If you log the event object you will see that it's cancelable property is set to false.如果您记录事件 object,您将看到它的可取消属性设置为 false。 Perhaps you can set the select element to disabled.也许您可以将 select 元素设置为禁用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM