Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么jQuery change()方法启用元素?_Javascript_Jquery - Fatal编程技术网

Javascript 为什么jQuery change()方法启用元素?

Javascript 为什么jQuery change()方法启用元素?,javascript,jquery,Javascript,Jquery,下面对select元素的方法调用序列将初始选中的选项设置为值为-5的选项,然后触发“change”事件 $('#abCategory') .val(5) .change() .prop('disabled', true) ; 由于某些原因,没有像.prop()方法调用所预期的那样禁用元素。如果移除change()方法,则元素将被禁用 为什么会这样?如何触发change()事件并同时禁用元素?上述问题的原因是包含此select元素的组件中的其他地方出现了错误的jQuery选择器。更正后,上述代码

下面对select元素的方法调用序列将初始选中的选项设置为值为-5的选项,然后触发“change”事件

$('#abCategory')
.val(5)
.change()
.prop('disabled', true)
;
由于某些原因,没有像.prop()方法调用所预期的那样禁用元素。如果移除change()方法,则元素将被禁用


为什么会这样?如何触发change()事件并同时禁用元素?

上述问题的原因是包含此select元素的组件中的其他地方出现了错误的jQuery选择器。更正后,上述代码可以正常工作。

:输入被禁用。您是否拥有不存在
.prop
的旧版本jQuery?或者你在某个地方把一个事件绑定到
更改
事件?@Niels-这也是我最初的想法。。但是OP说,当
.change
被删除时,它就可以工作了,这很奇怪。。。您是否查看了侦听该元素更改的内容,并查看了它的功能?请在触发更改之前尝试此操作。取消绑定(“更改”)
,以便我们知道是否发生了
change
事件。