2016-07-16 4 views
0

또 다른 toggleClass() 문제입니다. 이 jQuery 함수에 대해 수십 가지 질문이 있지만이 특정 질문을 찾을 수 없습니다.toggleClass()로 만든 클래스가 클릭 이벤트에 대해 경고하지 않습니다.

두 개의 버튼이 있습니다. 하나는 클릭시 다른 클래스를 토글합니다. 이것은 색상 변경 이후 잘 작동하지만, 'new'클래스에서 click() 이벤트를 사용할 때 아무 일도 일어나지 않습니다.

HTML

<button type='button' id='button1'>button 1</button> 
<button type='button' id='button2'>button 2</button> 

CSS

.pushed { 
    background-color: salmon; 
} 

JS

$('#button1').click(function() { 
    $('#button2').toggleClass('pushed'); 
}); 

$('.pushed').click(function() { 
    alert('pushed!') 
}); 

여기를 시도 할 수 있습니다 :,117,

+0

@Rob 편집이 올바르지 않습니다 ... 색상이 바뀌므로 문제가 '푸시 됨'으로 경고하지 않습니다. – skamsie

+0

그런 다음 제목을 편집하여 반영하십시오. – Rob

답변

2

심지어는 .pushed으로 요소를 선택하기 때문에 존재하기도합니다. 이 문제를 사용해보십시오 :

$(document).on('click', '.pushed',function() { 
    alert('pushed!') 
}); 

on 현재 일치하는 요소에 클릭 이벤트를 바인딩하고 미래의 요소를 일치.

+0

예, 의미가 있습니다 ... 정확하게 내가 필요한 것, 감사합니다! – skamsie

0

기존 Dom 요소에 이벤트를 등록 할 수 있다고 생각하십시오. 핵심 포인트가 $ ('.pushed') 인 경우 이벤트가 등록되지 않은 jquery 객체를 반환합니다.

관련 문제