从JQuery更改事件触发本机更改事件

时间:2019-10-05 16:09:52

标签: javascript jquery vue.js jquery-chosen

我有一个JQuery UI chosen select box,它也附加到一个v模型上。这不是最好的组合,但这就是我所拥有的。当用户从选择框中选择一个选项时,会触发 JQuery change事件,但不会触发本机浏览器事件。由于不是本地的,这意味着Vue无法更新选择的附加v模型值。因此,我的想法是从JQuery change事件监听器引发本地事件:

var select = this.$refs.select;
var $select = $(select);

$select.on('change', function(evt, params){
    var event = document.createEvent('Event');
    event.initEvent('change', true, true);
    select.dispatchEvent(event);
});

但是,这将导致达到最大调用堆栈大小,因为本机事件被JQuery事件重新捕获。如何在不重新触发的情况下从JQuery change事件侦听器引发本机事件?

0 个答案:

没有答案