javascript - SVG、jQuery 和 Internet Explorer

标签 javascript jquery svg internet-explorer-9

我正在尝试在 Internet Explorer 9 上将 jQuery 与内联 SVG 结合使用。这是非常基本的东西,但我似乎无法让它工作。我想做的就是在单击矩形时使用 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>
-->

我可以在矩形上任意点击,但没有任何反应。有谁知道为什么以及如何在 Internet Explorer 9(在 Firefox 中工作正常)中只使用纯 jQuery 而不使用其他库来修复它?

如您所见,我尝试将 JS 部分放在 SVG 标记的内部和外部,以查看是否有任何效果。它没有!

最佳答案

而不是 <script/> , 使用 <script></script> .

工作示例(在 IE9 和 Chrome 23 中测试):

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

根据 SVG 规范,使用 <script/>是正确的,但是有 a bug (最近已修复)在 HTML5 规范中具有外部内容处理和脚本结束标记处理。

关于javascript - SVG、jQuery 和 Internet Explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14062294/

相关文章:

javascript - 将字符串与整数连接起来用作 jquery 中的变量(创建动态变量)

javascript - 使用 jQuery 从 JSON 中获取对象

javascript - 当鼠标悬停在图像上时标签隐藏/显示?

javascript - 保存 SVG 单击位置并在重新加载时重新创建它

html - Web 浏览器不显示 svg 文件

javascript - 查找浏览器生成的 JavaScript 变量的当前值

javascript - Ajax.ActionLink Button , 1 switch 禁用页面中所有现有按钮

javascript - JQuery 显示/隐藏按钮取决于文本区域字符数

javascript - 如何自动部署简单的 Vue WebApp(不需要服务器)? (即使用 vue 的简单构建链)

javascript - 无法获取 SVG 路径 - Snap.svg