2

Internet Explorer 9 のインライン SVG で jQuery を使用しようとしています。これは非常に基本的なことですが、動作させることができないようです。私がしたいのは、長方形をクリックしたときに jQuery を使用して「警告」することだけです。以下は私が試したコードです:

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">

<script type="text/ecmascript" xlink:href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" />
<script type="text/ecmascript"><![CDATA[
    $(document).ready(function(){
        $("#bot").click(function (){
            alert("clicked");
        });
    });
]]></script>

<rect x="10" y="10" height="300" width="300" style="fill: #000000" id="bot" />

</svg>

<!--
<script type="text/javascript" href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" />
<script type="text/javascript"><![CDATA[
$(document).ready(function(){
    $("#bot").click(function (){
        alert("clicked");
    });
});
]]></script>
-->

四角形を好きなだけクリックできますが、何も起こりません。プレーンなjQueryのみを使用し、他のライブラリを使用せずにInternet Explorer 9(Firefoxで正常に動作)で修正する理由と方法を知っている人はいますか?

ご覧のとおり、効果があるかどうかを確認するために、SVG タグの内側と外側の両方に JS 部分を配置してみました。それはしませんでした!

4

1 に答える 1

1

の代わりに<script/>、 を使用します<script></script>

実際の例 (IE9 および Chrome 23 でテスト済み):

http://jsfiddle.net/LrKbS/6/

SVG の仕様で<script/>は正しい使い方ですが、HTML5 の仕様で外部コンテンツの扱いやスクリプト終了タグの処理にバグ(最近修正)がありました。

于 2012-12-27T23:10:15.343 に答える