【问题标题】:dojo dijit.InlineEditBox script type='dojo/connect' throws an error sometimes need to suppressdojo dijit.InlineEditBox script type='dojo/connect' 有时会抛出错误需要抑制
【发布时间】:2013-08-20 15:19:48
【问题描述】:

所以我有一个像这样的sn-ps的html页面

<span dojoType='dijit.InlineEditBox' editor='dijit.form.Textarea' id='actionDetails13' value='Leave admit source entered during Express Registration' autoSave='false' noValueIndicator='[Details]'>  
<script type='dojo/connect' event='onChange' args='value'>  
</script>  
</span> 

这在 chrome 和 IE 中运行良好,但是当页面非常大时,只有 Internet Explorer 会引发错误

DOM Exception: NOT_FOUND_ERR (8)

并且那些特定的内联编辑框将不再出现。因此,在 1,000 个内联编辑框中,可能有 70% 会呈现。

如果我注释掉脚本 type='dojo/connect' 则不会引发错误。

我认为这可能是 IE 的一些限制,但有什么想法导致这种情况吗?

【问题讨论】:

    标签: dojo inlineeditbox


    【解决方案1】:

    也许是你连接 onClick 事件的方式。

    试试看:

    <script type="dojo/on" data-dojo-event="click">
        on(registry.byId("button1"), "click", function(){
        console.log("I was clicked!");
        });
    </script>
    

    问候,米里亚姆

    【讨论】:

      【解决方案2】:

      我建议使用下面的代码。它对我有用。

      require([
               "dojo/dom-attr",
               "dojo/on",
               "dojo/domReady!"
               ], function ( domAttr,on) {
      
                 var actionDetails13 = dojo.byId("actionDetails13");
      
                 var handle = on(actionDetails13 , "change", customFunction);
      
                 function customFunction() {
                      var actionDetails13Value= domAttr.get("actionDetails13", "value"); 
                      //your code
                 };
              });
      

      参考:

      https://dojotoolkit.org/reference-guide/1.9/dojo/connect.html

      https://dojotoolkit.org/reference-guide/1.9/dojo/dom-attr.html

      【讨论】:

        猜你喜欢
        • 2011-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多