2015-10-10 82 views
-1

我使用插件顏色選擇器提供的:eyecon 基本上我想要做的是每次用戶更改顏色時控件的顏色hexColorPicker。這是我的代碼:無法處理顏色選擇器上的onChange事件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<link rel="stylesheet" href="css/colorpicker.css" type="text/css" /> 
<link rel="stylesheet" media="screen" type="text/css" href="css/layout.css" /> 
<title>ColorPicker - jQuery plugin</title> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/colorpicker.js"></script> 
<script type="text/javascript" src="js/eye.js"></script> 
<script type="text/javascript" src="js/utils.js"></script> 
<script type="text/javascript" src="js/layout.js?ver=1.0.2"></script> 
</head> 
<body> 
<div id="colorSelector"><div style="background-color: rgb(62, 62, 189); "></div></div> 
<input type="text" maxlength="6" size="6" id="mycolor" value="00ff00"> 
</body> 
</html> 
<script> 
$(document).ready(function() 
{ 
    console.log("Function enabled"); 
    var currentHex = '#38ff56'; 

    $('#colorSelector').ColorPicker(
    { 
     color: currentHex, 
     onShow: function(colpkr) 
     { 
      $(colpkr).fadeIn(500); 
      return false; 
     }, 
     onHide: function(colpkr) 
     { 
      $(colpkr).fadeOut(500); 
      return false; 
     }, 
     onChange: function(hsb, hex, rgb) 
     { 
      $('#colorSelector div').css('backgroundColor', '#' + hex); 
      $('#mycolor').val(hex); 
     } 
    }); 

}); 
</script> 

但似乎onChange事件不會觸發..沒有控制檯錯誤和網絡中的所有庫組件加載正確。我究竟做錯了什麼?

+0

其他事件被觸發?你的控制檯有沒有錯誤?顏色選擇器正在正確加載? –

+0

所有正確加載,也沒有在控制檯中的任何錯誤。 – Dillinger

+0

不要說謊。答案中根據您的意見沒有正確加載。請,我們可以幫助你,但你需要儘可能合作。 –

回答

0

您的問題是添加CSS我客串

更改此:

$('#colorSelector div').css('backgroundColor', '#' + hex); 

通過這樣的:

$('#colorSelector div').css('background-color', '#' + hex); 
+0

事件也沒有被觸發代碼沒有輸入:onShow,onHide,onChange這是問題的人 – Dillinger

+0

這個改變是必要的,因爲'backgroundColor'不是css的屬性。你對我說,其他事件是在帖子的評論中引發的。你做錯了什麼。嘗試我的另一個答案在輸入中實例化顏色選擇器,而不是在div –

+0

哪個帖子中?我的意思是$(文檔)。準備好了(函數()被觸發了,但是裏面的另一個方法沒有。 – Dillinger

0

試圖改變自己的選擇:

$('#mycolor').ColorPicker({ 
    options 
    }); 
+0

如果這不起作用,請嘗試在jsfiddle.net中重現問題並與我們分享。 –

0

試與

$('#colorSelector div').css('background-color', '#' + hex); 

你確定你必須把'#'放在十六進制之前嗎?

+0

是的,但這不是我的問題。主要問題是onShow onHide事件,onChange不會像我在帖子中說的那樣觸發。 – Dillinger