2012-05-30 4 views
1

일부 텍스트를 클릭 할 때 .on 이벤트를 사용하려고합니다. 여기 내 바이올린은 다음과 같습니다.on 함수가 실행되지 않습니다.

http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/73/

하지만 아무것도 내가 '링크'를 클릭하면 해고되고, 내가 왜 몰라? 읽기 http://api.jquery.com/on/에서 나는 통과해야하는 데이터가 .connected라고 생각하지 않습니다.

동적으로 추가 된 요소에 대해 작동해야합니다.

<div id="myID"> 
    <a class="connected" >link</a> 
</div> 

​$(function() { 

$(".connected").on('click', '.connected', function() { 
    alert('fired)' 
     $(".connected").append("<a>hello</a>"); 
}); 



}); 

​.connected { 
    float: left; 
    margin: 6px; 
} 
+0

내가 jQuery를 싫어 !!!! MooTools 사용 ... www.mootools.net – Jay

답변

2

당신도 이것을 사용할 수 있습니다 :

$(".connected").on('click', function() { 
    alert('fired') 
    $(".connected").append("<a>hello</a>"); 
});​ 

또는이 :

$("#myID").on('click', '.connected', function() { 
    alert('fired') 
    $(".connected").append("<a>hello</a>"); 
});​ 

주, 두 번째 변종은 동적으로 추가 요소 작동합니다.

DEMO : 경고에 구문 오류가 고정으로http://jsfiddle.net/zyUkd/74/

+0

두 번째 변형은 내가 찾고있는 것입니다. div id, .css 클래스가 없습니다. 이는 id가 인 요소를 추가해야한다는 것을 의미합니까? 내 질문을 업데이트했습니다 –

+0

화려한 감사합니다! 너무 많은 문제가 아니라면 왜 이것이 효과가 있는지 자세히 설명해 줄 수 있습니까? –

2

이 두번째 버텍스 .connected 제거하십시오 : 다음은 바이올린의 코드입니다. 또한 경고가 잘못 작성되었습니다.

$(function(){ 
     $(".connected").on('click', function() { 
      alert('fired'); 
      $(".connected").append("<a>hello</a>"); 
     }); 
    }); 
0

뿐만 아니라, 준비 기능에 넣어.

http://jsfiddle.net/zyUkd/75/

$(document).ready(function() { 

     $(".connected").on('click', function() { 
      alert('fired'); 
       $(".connected").append("<a>hello</a>"); 
     });  

}); 

+0

코드를 답안에 포함 시키십시오. 단지 바이올린에 링크하지 마십시오. –

+0

네, 고맙습니다. –

관련 문제