2011-03-11 86 views
0

我有使用jQuery UI有一個非常簡單的點擊功能,這個簡單的按鈕做後jQuery UI的按鈕,點擊兩次:需要啓用它

$('#bewerkopslaan').button({ 
     icons: { 
      primary: 'ui-icon-disk' 
     }, 
     disabled: true 
    }).click(function() { 
     alert('test'); 
      }); 

在某些時候我能像這樣的按鈕:

$('#bewerkopslaan').button("option", "disabled", false); 

然後我可以點擊按鈕,但沒有任何反應。然後我再次點擊它,它就可以工作。 所以我總是必須點擊它兩次。

+1

你在按鈕的點擊處理程序使按鈕?介紹http://jsfiddle.net或http://jsbin.com演示? – 2011-03-11 16:32:10

+0

您正在使用哪個導航器? – Zakaria 2011-03-11 16:35:54

+0

我正在使用鉻。奇怪的是,這些代碼在Firefox中非常有用。 (儘管速度稍慢;)) – skerit 2011-03-11 17:10:43

回答

1

您提供的代碼將正確啓用我的測試按鈕,但是,具有禁用狀態的按鈕不會禁用您添加的點擊事件。如果您希望該按鈕被真正禁用,則只需在啓用該按鈕時綁定該事件,並在禁用按鈕時解除綁定。

例如可以在這裏找到:http://jsfiddle.net/WmAQJ/1/

<html> 
<head> 
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.5.js'></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script> 

    <script type='text/javascript'> 
    $('#bewerkopslaan').button({ 
    icons: { 
     primary: 'ui-icon-disk' 
    }, 
    disabled: true 
    }); 

    $('#enabler').click(function() { 
     $('#bewerkopslaan').button("option", "disabled", false).bind("click", function() { 
     alert('test'); 
     }) 
    }); 

    $('#disabler').click(function() { 
     $('#bewerkopslaan').button("option", "disabled", true).unbind("click") 
    }); 
    </script> 
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css" type="text/css" media="all" /> 
    <link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" /> 
</head> 
<body> 
    <div id="enabler">click me to enable button</div> 
    <span id="bewerkopslaan">button</span> 
    <div id="disabler">click me to disable button</div> 
</body> 
</html> 
+0

當按鈕被禁用時,未觸發點擊事件。不過,我仍然實施你的方法。它適用於Firefox,但不適用於Chromium。 – skerit 2011-03-11 17:09:56

+0

你正在運行什麼版本?在Chrome 10.0.648.133中,這對我來說很好。在構建Chromium之前,你有沒有定製過你的Chromium? – 2011-03-11 18:34:43

相關問題