0

私は VS2010+MVC3(Razor)+IE8+JQueryUI スタックを使用しており、jqueryui .buttons() 関数を使用してボタンのリストを作成しようとしていました。ただし、何らかの理由で、ボタンが押されたときに Dev-Webserver+IE8 が一貫してクラッシュしていました。以下のコードは、バグを実証するために必要かつ十分なものです。それを切り取って Home/Index.chtml ファイルに貼り付けて実行するだけです。

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css" type="text/css" media="all" /> 
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js" type="text/javascript"></script> 

<ul>
    <li>
        <div>
            <label for="aa">text</label>
            <input type="checkbox" id="aa" class="theclass"/>
        </div>
    </li>
</ul>
<script type="text/javascript">
                            $(function () {
                                $(".theclass").button();
                            });
</script>

これは Chrome では問題なく動作し、これをプレーンな HTML ファイルにドロップして VS2010 の外部で実行してもエラーは発生しないため、これは MVC/ASP に固有のものである可能性があります。周囲の div を削除すると、これがクラッシュしなくなります。特に、これは、ボタンが div グループの最後のボタンである場合にのみクラッシュします。ハックとして、入力要素の後に空の div を追加しました。これにより、クラッシュが防止されました。これは非常に特異なエラーだったので、誰かが同様の問題を抱えている場合に備えて、ここに投稿しています。

乾杯 ロブ

4

2 に答える 2

0

これは私にも起こりましたが、VS2010ではなくMVCでも起こりませんでした。これは、jQueryUIボタンで起こっているように見えることです...

私の解決策は単純で、問題のある要素をSPANタグでラップしました。上記の例では、これで問題が解決するはずです...

<span class="theclass"><input type="checkbox" id="aa"></span>
于 2011-07-28T14:50:11.923 に答える
0

IE8 にはたくさんのバグがあります。最良の提案は、この IE8 バグのリストを確認することです。IE8 のバグを見つけるたびに、このリストを使用します。

http://jhop.me/ie8-バグ

そのページで見つけることができる最も近いものは、次の JavaScript バグです。

for ループから抜け出すステートメント内で querySelectorAll を使用すると、完全なプログラム クラッシュが発生します。

jQuery メソッドが原因であるか、ボタン メソッドが原因である可能性があります。チェックボックスをボタンにしようとしているのはなぜですか?ボタンメソッドがそのように機能するとは思わない。

于 2011-02-24T18:13:54.107 に答える