javascript - 通过触发器的Jquery更改方法不起作用
问题描述
HTML:
<select id="g_contracts">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
JS:
$(document).ready( function() {
$("#g_contracts").trigger("change");
$("#g_contracts").on("change", function() {
alert(44);
});
});
好吧,当我直接更改选择器时会发生警报,但trigger("change")
不会导致任何事情。
我错过了什么?
解决方案
trigger() 方法触发选定元素的指定事件和事件的默认行为(如表单提交)。
$(document).ready( function() {
$("#g_contracts").on('change',function(){
alert("44");
});
$("#g_contracts").trigger('change');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="g_contracts">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
推荐阅读
- laravel - Laravel required_without 使用电子邮件或数字验证进行验证
- amazon-web-services - 从公共互联网访问在 aws ec2 实例上本地运行的 web api
- jenkins - 如何通过jenkins在groovy中并行执行多个curl调用?
- python - Pandas `read_sql` SUM 列与 CLI 输出不同
- git - git 二进制存储修订优化
- activemq - ActiveMQ 经典控制台持久订阅
- node.js - 我如何知道会话中的用户是否填写了升级表格?
- google-chrome - Chrome PDF 预览产生不活动错误:IPCC.Web.UI.ImGearHttpException:查看器会话 ID 已过期
- reactjs - 为什么 faviocon 没有显示在我的远程项目上,但在我本地托管时显示
- ionic-framework - 聚焦 Cordova 相机预览后自动捕捉图像