在 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的主要内容,如果未能解决你的问题,请参考以下文章

Chrome-Devtools代码片段中的多个JS库

egret 微信小游戏 错误

svg 学习笔记

JS BOM和DOM

vue $mount挂载实例方法

vue $mount挂载实例方法