jquery UI按钮在IE 9中不起作用?

时间:2011-03-26 21:33:55

标签: jquery jquery-ui internet-explorer-9

IE 9中的jquery UI按钮似乎有问题吗?

这是他们看起来正常的方式:

enter image description here

在IE 9中,它们看起来像这样:

enter image description here

按钮的Html是:

        <input
         type="submit"
         name="submit_intermediate_question"
         id="submit-intermediate-question"
         value="Odoslať"
         class="input-submit" >

jquery代码:

$(document).ready(function() {

    $('.input-submit').button();

});

这是一个已知问题吗?我正在使用最新的jquery UI(昨天下载)。怎么解决?

9 个答案:

答案 0 :(得分:3)

CurvyCorners javascript干扰了jQueryUI声明的样式。

CurvyCorners失败,因为它仍然在IE9中调用scanStyles,即使IE9支持border-radiusSupport for "border-radius" in IE),我怀疑这会导致与jQueryUI声明的现有样式冲突。

http://code.google.com/p/curvycorners/source/browse/trunk/curvycorners.src.js#93应该是:

this.supportsCorners = this.ieVer >= 9.0;

所以下载curvycorners.src.js,更改该行,然后使用它而不是当前的curvycorners.src.js文件,按钮样式将正确显示。

答案 1 :(得分:2)

你的例子在IE9中为我工作。检查http://jsfiddle.net/tKksD/4/。确保在标题中加载了jquery-ui.css。然后将{jQuery.js和jQueryUI.js放在</body>结束标记之前。最后将jQuery代码放在</body>之前和jQuery.js和jQueryUi.js脚本之后。

您也可以使用以下方法执行此操作:

$('input:button').button();

检查http://jsfiddle.net/tKksD/

处的工作示例

<button></button>` instead of `<input type"button" />

检查http://jsfiddle.net/tKksD/

处的工作示例

答案 2 :(得分:1)

尝试检查CSS文件和javascript文件。你可能会错过一些文件。

<link href="{your path to jquery}/themes/base/jquery.ui.core.css" rel="stylesheet" type="text/css" />
<link href="{your path to jquery}/themes/base/jquery.ui.theme.css" rel="stylesheet" type="text/css" />
<link href="{your path to jquery}/themes/base/jquery.ui.button.css" rel="stylesheet" type="text/css" />

<script src="{your path to jquery}/jquery-1.5.1.js" type="text/javascript"></script>
<script src="{your path to jquery}/ui/minified/jquery.ui.core.min.js" type="text/javascript"></script>
<script src="{your path to jquery}/ui/minified/jquery.ui.widget.min.js" type="text/javascript"></script>
<script src="{your path to jquery}/ui/minified/jquery.ui.button.min.js" type="text/javascript"></script>

答案 3 :(得分:1)

这里仅涵盖所有基础,但我假设您使用的是最新版本的jQuery? v1.5.1是support IE9作为顶级浏览器的第一个版本。在相关的说明中,任何模糊的jQuery UI版本都需要jQuery 1.3.2+。

答案 4 :(得分:1)

下载测试页后,删除curvycorners修复它。也许您可以尝试使用其他方法来获得圆角。

答案 5 :(得分:1)

也许您在本地下载jquery和附加的scrips但是图形的url是相对的,因此浏览器无法打开图像。尝试使用firebug for IE以检查是否有尝试下载图像+你可以检查你的js是否有任何错误。

另外IE9有开发人员工具,可以使用。

答案 6 :(得分:1)

我能够通过未选择的一些使用IE9 Developer工具标记为内联的样式来获取页面上的按钮。 (所有边框)您可以在下面的图像中看到内嵌样式。我没有追踪到为什么或在哪里,但我会稍后(希望今天)尝试做更多的调查,并在获得更多信息时更新这个答案。希望这可能对目前有所帮助。

Showing it working in IE9

答案 7 :(得分:1)

我昨天遇到过类似的问题, 只是看看并添加结束

   <input
         type="submit"
         name="submit_intermediate_question"
         id="submit-intermediate-question"
         value="Odoslať"
         class="input-submit" /> <--   

由于这个原因,我的手指没有用。

答案 8 :(得分:1)

或者看看IE9 compat。查看..

我认为它与doctype aso有关。

甚至可能是这样的:

&lt; \ meta http-equiv = \ X-UA-Compatible content = IE = edge&gt;