我有一个小型SaaS产品,提供js代码以在网页上创建嵌入式表单。我将它们复制和粘贴的代码如下所示:
<div class="form-container" data-form="form-22" ></div>
<script src="https://example.com/embed-code.js" />
我想提供一个回调机制,以便在提交表单时通知他们自己的javascript。
到目前为止,我实现它的方式是告诉他们使用必需的回调函数创建一个全局变量:
var form_callbacks = {
submitted: function(){...}
}
然后,我的嵌入代码会查找window.form_callbacks
并在提供时触发它们。
我不是真正的客户端JS开发人员,但要求某人创建全局变量似乎是错误的方法。
有更标准的方法吗?
答案 0 :(得分:1)
标准方法是让您的库在快速可识别的命名空间(即产品名称)中实例化全局对象,并提供方法来订阅事件。不要强迫用户声明任何全局变量。
ComExampleForms.get("form-22").subscribe("submit", function(e) {…});