javascript - 如何运行 data-dojo-attach-event?

标签 javascript dojo dom-events

我试图在以编程方式添加 domNode 后运行该事件:

<a href="javascript:void(0)" data-dojo-attach-event="click:openRegistration">Register</a>

首次加载页面时,Dojo 不会解析此事件,因为稍后会添加该事件。即使在运行之后

parser.parse();

事件没有运行。我怎样才能运行此事件?

最佳答案

您不希望 dojo 解析器解析页面两次:它会冗余地解析和创建已经创建的内容并导致困惑。要在页面被解析后以编程方式添加节点,请查看 dojo/dom-construct .

require(["dojo/dom-construct", "dojo/domReady!"],
    function(domConstruct) {

        var openRegistration = function() {
            alert("foo");
        }

        domConstruct.create("a", {
            innerHTML: "Register",
            click: openRegistration,
            href: "javascript:void(0)"
        }, document.body);
    });

将 document.body 替换为对要插入节点的父节点的引用,并查看放置选项的第 3 个参数。

关于javascript - 如何运行 data-dojo-attach-event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42005669/

相关文章:

javascript - HTML5 范围输入值在 Bootstrap 弹出框内没有改变

dojo.query 不适用于包含波浪号 (~) 字符的属性选择器

php - 在 Dojo 按钮上单击执行 PHP 脚本

javascript - 在单个全局事件处理程序中捕获所有点击事件是不是一个坏主意?

javascript - 在 :animationend can't access bind:this svelte (undefined) 上

javascript - 存储事件未触发

javascript - 在两个 &lt;input&gt; 元素之间添加默认空格

javascript - 在按钮之前查找 div

javascript - 如何在手机验证场景中使用 dojo.destroy 和 dojo.create?

javascript - Wordpress AJAX 调用不断返回 0