2012-02-16 5 views
0

나는 북마크처럼 작동하는 javascript 스크립트를하고 있습니다. 코드를 할당 한 후에 내가 가지고있는 div 중 하나를 클릭해야하지만 얻을 수는 없습니다.Click 쿼리가 작동하지 않습니다

JS 나는 그것이 작동에 마우스를 올려 두지 만 클릭으로 더 내가 쿼리를 사용하고

경우 : 내 HTML 코드에서

var $j = jQuery.noConflict(); 
    $j('<div></div>').prependTo($j(this)).attr('id', 'shadow').css({ 
       'height': '220px', 
       'width': '220px', 
       'background-color': 'black', 
       'position': 'absolute', 
       'top': 0, 
       'left': 0, 
       'opacity': 0.4, 
       'cursor': 'pointer' 
      }).click(function() { //this dons't work i try to put apart 
            //But if I put bind('mouseover' it works 
       alert('a'); 
       //...more stuff 

      }); 

그것은 다음과 같이 얻을 :

<div id="div0" class="div" style="position: relative; "> 
    <div id="shadow" style="height: 220px; width: 220px; background-color: black; position: absolute; top: 0px; left: 0px; opacity: 0.4; cursor: pointer; "></div> 
    <img class="select" id="select0" src="url..." onclick="alert('aaa')"> 
    <img src="url..." class="img" id="img0" height="62" width="220" style="margin-top:79px"></div> 
</div> 

은 내가 넣어 이미지에 직접 경고하고 작동하지 않습니다.

감사합니다.

+4

"$ j (this)"의 j는 무엇을 의미합니까? –

+0

@mesiesta var $ j = jQuery.noConflict(); – Edig

+0

그게 문제가 아니 었습니다. 문제는 코드의 "스 니펫 (snippet)"이므로 "이것이"무엇인지를 보여주지 못합니다. 독립 실행 형 코드로서 아무 것도 아닙니다. –

답변

1

jQuery를에 $ J가 될 수 있도록 당신이 설정을 바로 가기를했습니다 가정하면, 내가 샘플 jsFiddle 만든 : 그것은 분명하지 않다 때문에

http://jsfiddle.net/TxKPD/

$('<div></div>').prependTo('body').attr('id', 'shadow').css({ 
      'height': '220px', 
      'width': '220px', 
      'background-color': 'black', 
      'position': 'absolute', 
      'top': 0, 
      'left': 0, 
      'opacity': 0.4, 
      'cursor': 'pointer' 
     }).click(function() { //this dons't work i try to put apart 
           //But if I put bind('mouseover' it works 
      alert('a'); 
      //...more stuff 

     }); 

무엇 $ (이) 귀하의 질문에 나는 단순히 귀하의 요소를 본문에 추가했습니다. 모든 것은 클릭 핸들러와 함께 작동합니다. 그래서 질문을 남기고, 무엇이 스크립트를 실행시키고 무엇이 $ (this)입니까?

+0

$ (this) = $ ('. div')에 대해 유감스럽게 생각한다. 나는 그것이 완벽하게 작동한다는 것을 알고 있지만, 왜 그것이 작동하지 않고 마우스 오버로 완벽하게 작동합니다. – Edig

+0

좋아,하지만 어떤 이벤트가 "prependTo"를 유발하고 있는지. $ (this)는 prependTo를 트리거하는 것을 나타낼 수 있습니다. onReady에서 전화하려고합니까? 아니면 이걸 다른 걸로 부르려고하는거야? –

+0

이 코드는 책갈피로 실행되므로 웹 페이지를 준비해야합니다. 전에 insertAfter ($ (this)); 그러나 나는 이것에 변화한다 – Edig

1

당신이 뭔가를 놓치고 있거나 틀린 장소를보고 있습니다. 이 코드는 그대로 제공됩니다. 증거를 참조하십시오

http://jsfiddle.net/H9vzM/

참고 : 나는의 상황을 모르는 "이"코드 샘플에서, 그래서 수동으로 기존의 "자리"를 선택하는 대신 div에.

+0

예 모든 코드가 잘 작동합니다 : S하지만 어쩌면 다른 레이어의 클릭을 알 수 없습니다. 나는 여기에 더 많은 코드를 줄 수 없다 : S – Edig

관련 문제