jquery .bind for image onclick在Firefox中不起作用?

时间:2011-04-06 10:12:50

标签: javascript jquery onclick bind

我想知道为什么下面的代码在IE中工作正常而不是Firefox(3.6.15)?

HTML:

<input type="image" name="btbuy1" id="btbuy1" src="img/buy.gif" disabled="disabled"/>

JavaScript的:

EnableBuyButton(btbuy1);

function EnableBuyButton(ABtnId)
{
    var btElement = document.getElementById(ABtnId);
    btElement.setAttribute("disabled", "");
    $('#' + ABtnId).bind('click', function ()
    {
        alert('User clicked buy btn');
    });
}

4 个答案:

答案 0 :(得分:1)

看一看,我也做了一点整理http://jsfiddle.net/bkKNU/

<input type="image" name="btbuy1" id="btbuy1" src="img/buy.gif" disabled="disabled"/>

EnableBuyButton("btbuy1");

function EnableBuyButton(ABtnId)
{
    $('#' + ABtnId).attr("disabled","").bind('click', function ()
        {
            alert('User clicked buy btn');
        });
}

答案 1 :(得分:0)

您想要使用id,但实际上您正在使用由id

标识的Html元素

EnableBuyButton('btbuy1');

代替

EnableBuyButton(btbuy1);

您也可以使用元素本身

调用Jquery选择器
$(btElement)

答案 2 :(得分:0)

function EnableButton(id)
{
    $('#' + id)
    .removeAttr("disabled")
    .click(function ()
    {
        alert('User clicked buy btn');
    });
}

答案 3 :(得分:0)

试试这个:

$(function() {  
    var EnableBuyButton = function(ABtnId)
    {
            var btElement = $('#' + ABtnId);
            btElement.attr("disabled", "");
            btElement.bind('click', function ()
            {
                alert('User clicked buy btn');
            });
    }

    EnableBuyButton('btbuy1');
});

希望有所帮助

jsfiddle:http://jsfiddle.net/aPvgm/1/