【问题标题】:Dojo : Unable to stop "onClick" dijit eventDojo:无法停止“onClick”dijit 事件
【发布时间】:2010-08-12 07:17:17
【问题描述】:

我无法停止onClick 事件? 如果我只是将 dom 节点与onclick 事件一起使用,那么dojo.stopEvent() 可以工作,但不能与小部件的onClick 一起使用。 我收到错误 “无法加载页面 ... 状态 0”。我发现在执行 Ajax 调用时页面刷新时会发生这种情况。我正在发布我的代码。 任何帮助表示赞赏

    // create a button which will be replaced by the Button widget
    var submitButton = dojo.create('button', {type:"submit", id:"submitButton"}, popupFormControlDiv);

    var popupFormSubmitButton = new dijit.form.Button({label: "Create", type:"submit"}, "submitButton");

    dojo.connect(popupFormSubmitButton, "onClick", function(event) {
        //Stop the submit event since we want to control form submission.
        event.preventDefault();
        event.stopPropagation();
        dojo.stopEvent(event);

        // construct the arguments for the post request
        var xhrArgs = {
            form: popupForm,
            url: "/admin/sys-config/registration-form/add",
            handleAs: "text",
            load: function(data) {
                console.log("success");
            },
            error: function(error) {
                console.log("error");
            }
        }
        var deferred = dojo.xhrPost(xhrArgs);
    }); 

【问题讨论】:

    标签: php javascript events dojo


    【解决方案1】:

    我刚刚尝试使用小部件和常规按钮,两种方法都可以让按钮的点击处理程序阻止事件提交表单。

    仅限 DOM:http://jsbin.com/inoyo4/edit

    小部件:http://jsbin.com/ayomu4/edit

    请注意,使用 DOM 我连接到onclick,而使用小部件我连接到onClick。 dijit 经常使用驼峰式表示法,并且 dijit 小部件包含许多事件挂钩,这些挂钩映射到小部件内节点上的标准 DOM 事件(小写)。不幸的是,这可能会导致混乱。

    您可能会发现这值得一读:http://docs.dojocampus.org/quickstart/events

    【讨论】:

      【解决方案2】:
      var f=dijit.byId("id");
      f.set("onClick",function(){;});
      

      【讨论】:

        【解决方案3】:

        您可以在onClick处理函数中返回false来取消表单提交。

        【讨论】:

        • 谢谢.....我什至尝试过但没有成功......一旦Ajax帖子完成,页面立即开始刷新
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-04
        • 1970-01-01
        • 2011-11-18
        • 2016-05-09
        相关资源
        最近更新 更多