2011-10-13 3 views
0

내가 원하는 기능으로 찾을 수 없기 때문에 색상 선택 도구가 필요합니다 (이제는 가능한 모든 기능이 포함되었을 것입니다.하지만 조절 가능한 알파를 지원하는 RGBA 출력을 찾지 못했습니다. 수준) 및 편집기를 시작할 때 현재 색을로드 할 스크립트 부분에 문제가 있습니다. 나는 모든 코드로 당신을 지루하게하지 않을 것이고, 나는 그것을 기본으로 유지하려고 노력할 것이다.jQuery가 문서로드로 이동해도 클릭이 발생하지 않습니까?

먼저이 모든 것은 표준 $ (docuemnt) .ready() 안에 있으며, 입력 내용을 내 색상 선택기 코드로 바꾸면 주된 목적은 set_color 함수를 실행하려고 시도하는 것입니다. 에서는 toRGB() 함수를 통해 RGB 알파 전달 수정 버전 (반대 -

$('.rgbapicker').each(function(){ 
     $(this).replaceWith(
      'This is all the display code, it's working fine.' 
     ) 
     set_color('#'+$(this).attr('name')+' ',$(this).val()) 
    }); 

set_color 함수가 사용하고 tinycolor.js를 이용하여 변환 된 색은 어느 색 선택 제어 선택된 변수를 취 .toRgbString() 함수에서만이를 전달합니다.

function set_color(selected,color){ 
     var color = tinycolor(color).toRgb(); 
     $(selected+'.disp_s_color_r').val(color.r); // This code 
     $(selected+'.disp_s_color_g').val(color.g); // Changes the 
     $(selected+'.disp_s_color_b').val(color.b); // Color selector 
     $(selected+'.disp_s_color_a').val(color.a); // Display 
     var color = tinycolor(color).toHsl(); 
     console.log(selected+' - '+color.h+' - '+color.s+' - '+color.l); 
     var e = new jQuery.Event("click"); 
     e.pageX = 180; 
     e.pageY = 180; 
     $('.colorbase').trigger(e); 

편집기는 아주 기본적인 방법이고 잘 작동 후 마우스 조정 얻고 모두를 알아 내기 위해 수학을하지 당신이 클릭 HSL 스펙트럼 이미지를 사용합니다. 내가이 버튼을 눌렀을 때이 함수가 실행되고 올바르게 작동하면 (선택된 색상의 업데이트 된 XY로 선택한 색상을 강조 표시) 편집기를 클릭하면 제대로 업데이트됩니다 (여기서는 아무 것도 쓰지 않습니다). 그러나 이것이 초기 루프에로드되면 시작되지 않습니다. set_color 함수가 실행되고 편집기에서 표시를 업데이트하지만 선택기가 이동하지 않으며 해당 클릭 함수가 모든 미리보기 및 (숨겨진 상태가 아닌) 입력에 기록 된 색상을 업데이트하므로 아무 것도 업데이트되지 않습니다.

초기 교체 후 루프 호출과 리셋 버튼 호출 사이에는 차이가 없습니다. 이벤트와 거기에있는 정확한 사본도 확인했습니다 (다른 프로그램에 복사 한 후 비교를 실행했습니다. 정확히 ). 사본). 루프를 리셋 버튼 클릭 시뮬레이션을 포함하여 다른 유사한 메시지 (여기에서 문제를 찾을 때 다른 곳)에 게시 된 이상을 시도했지만 아무것도 작동하지 않았습니다.

아이디어가 있으십니까? 나는 단지 제대로 발사되도록 클릭을 얻는 것을 좋아할 것이다. 그렇지 않으면 아무것도하지 않고 스크립트를 더 크게 만드는 클릭을 시뮬레이트하는 코드 덩어리가 될 것이다.

+0

문자열 내에서 수축을 관찰하십시오. 단일 문자열로 인용 할 때, "그것은 당신의 천적이 될 수 있습니다. ''그것 \ 's를'보십시오. –

+0

@PhpMyCoder : 맞습니다. 아니. #scnr – campino2k

+0

@ campino2k http://www.quirksmode.org/js/strings.html –

답변

0

e은 윈도우/문서 이벤트이기 때문에 컬러 피커 대신 문서에서 실행해야합니까?

+0

두 가지를 시도해 보았습니다. (내 게시물에서 언급하지 않으려 고 죄송합니다. 아무 것도하지 않는 새 키워드를 제거하더라도 여전히 동일한 효과가 있습니다. (또는 그 이미지 이외의 다른 것)은 아무 것도하지 않습니다. 실제로는 리셋 버튼의 클릭 이벤트가 깨집니다. –

+0

왜 '$ ('. colorbase ')가 아닌지 click();'? colorbase-element가 리셋 버튼입니까? – campino2k

0

탈출 시도

  • 트리거 이벤트 body 요소에 대한 "새로운"키워드로 이벤트를 생성하지 않습니다의 jQuery API에서 볼 수 있듯이

    두 가지 실수가있다 안에있는 아포스트로피는 으로 바뀌고 문자열로 바뀝니다.

  • 0

    오타가 있습니다.

    $(this).replaceWith(
         "This is all the display code, it's working fine." // all singlequotes before 
        ) 
    
    관련 문제