在 javascript createElement 上调用 .trigger
Posted
技术标签:
【中文标题】在 javascript createElement 上调用 .trigger【英文标题】:calling .trigger on javascript createElement 【发布时间】:2015-05-18 09:17:05 【问题描述】:我正在实现一个 CSRF 解决方案,该解决方案在替换之前自动将存储在会话中的令牌注入所有表单。我已经实施了 2 个解决方案来确保处理所有提交
对于 ajax 提交,我实现了一个 jquery.ajaxPreFilter 方法,该方法将令牌添加到数据属性中,然后再将其传递给 ajax 处理程序。
对于其他表单,我使用 jquery.on('submit') 绑定到提交事件。
对于通过 javascript 提交的表单,我已将 .submit() 调用更改为 .trigger('submit');
我们的代码中有一些 javascript 方法会在调用 form.submit() 之前使用 javascript document.createElement() 创建表单。我无法将这些更改为 form.trigger('submit') 因为 jquery 无法识别它们;我收到错误“form.trigger 不是函数”。
如何处理这些类型的表单提交以触发提交事件,以便我的绑定方法将其拾取?
【问题讨论】:
如果您包含所有相关代码,这将更容易响应。但是,问题可能只是createElement()
返回一个普通的 DOM 元素,而不是 .trigger()
函数可用的 jQuery 集合。
【参考方案1】:
我现在找到了解决方案,没想到这么简单。
而不是调用
form.submit();
我只是打电话
$(form).trigger('submit');
【讨论】:
以上是关于在 javascript createElement 上调用 .trigger的主要内容,如果未能解决你的问题,请参考以下文章