禁用按钮仍可在IE8中使用jQuery.live('click')事件进行点击

时间:2010-08-20 19:28:40

标签: internet-explorer-8 jquery

我一直在使用IE 8遇到奇怪的问题。

我有这个

    <input name="Btn_Edit" disabled="disabled" id="Btn_Edit" type="button" value="Edit"/>

$(function ()
{
    $('#Btn_Edit').live('click', function ()
    {

        alert('hi');

    });
});

因此,在其他所有浏览器中,当我的按钮被禁用时,此警报永远不会触发。在IE 8中,它进入我的编辑按钮并触发警报。

我不知道为什么。

http://jsfiddle.net/QgceL/

你可以亲眼看看。只需加载IE 8并试一试。

但是,如果我将其更改为此。

http://jsfiddle.net/YD2eS/

似乎有效。我仍然不知道为什么它会引出不同的光标而不是指针。

无论如何,问题似乎与实时点击事件有关。

3 个答案:

答案 0 :(得分:0)

live更改为click。 是的,这太奇怪了!我不知道为什么会这样。

答案 1 :(得分:0)

将您的选择器更改为:

$('#Btn_Edit[disabled!=true]')

请注意,如果你的选择器是$('#Btn_Edit [禁用!=禁用]'),这将不起作用。

如果你alert($('#Btn_Edit').attr('disabled'));你可以看到它未被禁用时为'假'而在被禁用时为真。

这是一个小提琴页面,可以看到它的实际效果:http://jsfiddle.net/QgceL/3/

答案 2 :(得分:0)

这似乎是一个jQuery错误,发生在版本&lt; 1.5.x.这篇文章可能是在jQuery 1.4是最新版本时完成的,但是新版本没有这个问题。

相关问题