2011-03-02 59 views
1

我想知道替代.keyup函數。例如jQuery替代.keyup函數

$(".color").keyup(function() { 
    var top_header = $("#top_header").val(); 
    $("#top").css("background-color", top_header); 
}); 

<input value="#121212" class="color" id="top_header" type="text" /> 

此代碼將改變id='top'一個新的背景,當我們鍵入輸入文本。

現在我把它改爲jscolor到現場。所以當我們點擊文本輸入時會顯示顏色生成器。

問題

我應該取代.keyup(function()使使色彩變化瞬間無已進入?

不使用jscolor http://jsfiddle.net/5dsXT/

+0

顏色已經在jscolor網站中無變化了嗎? http://jscolor.com/ – amosrivera 2011-03-02 16:12:42

+0

當我看着jscolor時,它就像你的jsfiddle例子那樣改變顏色。你能否澄清你想要做的更多?也許一個例子,什麼*不*工作可能會有所幫助... – Chris 2011-03-02 16:14:25

+0

是的..其實在div'id ='top'' – 2011-03-02 16:15:11

回答

4

您正在尋找的onChange事件嘗試.change()更換.keyup()功能。

$(document).ready(function() { 
    $(".color").change(function() { 
     var top_header = $("#top_header").val(); 
     $("#top").css("background-color", top_header); 
    }); 
}); 

<input value="#121212" class="color" id="top_header" type="text" /> 

編輯您可以看到使用他們的 「tweaking」 頁面上的事件他們的例子。

+0

+1對你來說比我快一秒回答 – einstein 2011-03-02 16:11:27

+0

@ Woho87 - 謝謝。在那裏幾次我自己。 :) – 2011-03-02 16:14:20

3

例子中,我不完全相信你問什麼,但如果你想兩個事件綁定到texbox你可以試試這個:

$(document).ready(function() { 
    $("#top_header").bind("keyup focus", function() { 
     $("#top").css("background-color", $(this).val()); 
    }); 
}); 

http://jsfiddle.net/5dsXT/2/


如果您想處理初始頁面加載,焦點和鍵控,您可以這樣做:

$(document).ready(function() { 
    SetColor(); 
    $("#top_header").bind("keyup focus", SetColor);   
    function SetColor() 
    { 
     $("#top").css("background-color", $("#top_header").val()); 
    } 
}); 

http://jsfiddle.net/5dsXT/1/

+0

這並不回答這個問題。 OP不問如何綁定兩個事件處理程序。 – 2011-03-02 16:12:43

+0

@Drackir實際上這個工作,對我來說是一個新的東西:) – 2011-03-02 16:17:01

+0

@Unkown錯誤:啊,選擇顏色時必須激發焦​​點事件。但我仍然認爲onchange更合適。 – 2011-03-02 16:21:54