防止jQuery更改事件通过.val()触发

防止jQuery更改事件通过.val()触发,jquery,Jquery,我有一个选择下拉列表,它是使用jquery.val编程初始化的。有一个与此元素关联的更改事件,根据用户是更改值还是通过$select.val以编程方式更改值,该事件需要以不同方式工作。实现这一目标的最佳方式是什么 $select.change(function() { // always execute: ... // don't execute on .val(): [how to check this?] ... }); 您可以始终在DOM元素上使用标准ad

我有一个选择下拉列表,它是使用jquery.val编程初始化的。有一个与此元素关联的更改事件,根据用户是更改值还是通过$select.val以编程方式更改值,该事件需要以不同方式工作。实现这一目标的最佳方式是什么

$select.change(function() {
    // always execute:
    ...
    // don't execute on .val(): [how to check this?]
    ...
});

您可以始终在DOM元素上使用标准addEventListener函数,当您使用jquery val函数设置值时,不会触发该函数

document.getElementById('myOption').addEventListener('change', function(){
    alert('value changed by user to: ' + this.value);
});
现在,即使使用jquery更改值$'myOption'.val3,它也不会触发事件


请出示你的代码。你能提供一些代码吗?你试过什么吗?作为一个建议,你的标题似乎与你的场景不匹配,这让它听起来像一个故事。可能是像阻止jQuery更改事件通过.val触发之类的,或者类似的东西?