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)

それらの特定のインライン編集ボックスは表示されなくなります。したがって、おそらく 1,000 個のインライン編集ボックスの 70% がレンダリングされます。

スクリプト type='dojo/connect' をコメントアウトすると、エラーはスローされません。

おそらくIEの制限だと思いますが、これを引き起こしているアイデアはありますか?

4

2 に答える 2

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 に答える
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 に答える