0

所以我有一个 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)

并且那些特定的 inlineeditbox 将不再出现。所以也许 1,000 个内联编辑框 70% 会呈现。

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

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

4

2 回答 2

0

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

试试看:

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

问候,米里亚姆

于 2013-08-19T10:15:13.147 回答
0

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

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

于 2013-08-19T17:29:37.277 回答