2012-05-17 3 views
2

제 웹 응용 프로그램에이 jquery color picker 플러그인 http://www.eyecon.ro/colorpicker/을 사용하고 있습니다. 모든 것이 완벽하게 작동하지만 팔레트의 원래 색상을 onBeforeShow에 설정하려고하면 작동하지 않습니다.jquery color picker plugin

HTML 나는 onChange가을 사용하고

<div id="ncolor"></div><div id="ncolorpicker"><span id="ncpicker"></span></div> 

jQuery를

$("#ncolor").click(function(){ 
    var a = $("#ncolor").css("background-color"); 
    $("#ncolorpicker").show(); 
    $("#ncpicker").show().ColorPicker({ 
    flat: true, 
    onBeforeShow: function() { 
        alert("yes"); 
        $(this).ColorPickerSetColor(a); 
    }, 
    }); 
}); 

, 은 모두 onBeforeShow 위해 일하지만,하지 않는을 onSubmit. 심지어 경고 메시지 안에 을 게시하지 않았습니다 .BeforeShow. 내가 필요로 무엇

내가 표시하기 전에 색상 팔레트에서 #ncolor배경 색상을 설정할 수 있습니다. 심지어 그것이 onBeforeShow에 들어가지 않는 이유는 무엇입니까? 아무도 나를 안내 할 수 있을까요?

감사합니다.

+0

어떤 브라우저를 사용하고 있습니까? IE가 마지막 쉼표로 중단 될 수 있습니다.} – jfrej

+0

브라우저에서 작동하지 않습니다. 나는 그것을 확인했다 : ( – rnk

+0

흠 ... 아마도 위의 예에서 라인을 놓쳤을 지 모르지만 클릭 핸들러를 닫지 않았다 - 당신은 또 다른}})을 필요로한다. – jfrej

답변

1

onBeforeShow가 플랫 모드로 실행되지 않는 것으로 보입니다.

플랫 모드에서는이 color 속성을 사용하여 초기 색상을 설정할 수 있습니다. 파이어 폭스에서,

.ColorPicker({flat: true, color: '#00ff00'}); 

주의 사항을, $는 ("#의 ncolor") CSS는 ("배경색")이 반환하는 rgb (,,) 형식의 문자열.

그래서 처음 몇 변환을 수행해야 할 수 있습니다 {0 : B, 255 : 0, g R} color은 다음과 같이 # 문자열 (# 00FF00) 또는 RGB 객체를 받아들입니다.

또한 코드에서 각 클릭에 대해 .ColorPicker() (으)로 전화하고 있습니다. 이것은 불필요합니다.

대신 ColorPicker를 설정하려면 .ColorPicker() 번을 호출 할 수 있습니다. 그런 다음 클릭하면 .ColorPickerSetColor() 및 표시/숨기기 기능 만 호출하면됩니다. 예를 들어

: 여기

$(document).ready(function(){ 
    $("#ncpicker").ColorPicker({ 
     flat: true, 
     // Initial colour here: 
     color: '#0000ff' 
    }); 
    $("#ncolor").click(function(){ 
     // Use your dynamic colour here - may change each time: 
     $('#ncpicker').ColorPickerSetColor('#00ffff'); 

     // Put here your showing/hiding functionality. 
    }); 
}); 

빠른 예 : http://jsfiddle.net/jfrej/853bv/ 이 (&을 보여주는으로 http://www.eyecon.ro/colorpicker/ 예에서 가져온 숨기는 게).

+0

아니요 처음에만 작동합니다. 클릭 할 때 colopickeretcolor를 설정하고 변경하고 싶습니다. – rnk

+0

"처음에는 작동하지 않습니다." - 무슨 일하는거야? onBeforeShow? – jfrej

+0

클릭 할 때마다 .ColorPicker() 호출을 피하는 방법? – rnk