문제는 제가 시작하기 위해 요소를 클릭 할 수 있다는 것입니다. 그러나 S 키를 눌러 텍스트 요소 -> 단락에서 요소를 변경 한 후에는 더 이상 사용할 수 없습니다. 클릭 만하면 클릭 수는 등록되지 않습니다.jQuery가 등록되지 않았습니다.
이것은 사용중인 코드이며 첫 번째 클릭을 등록하지만 요소 전환 이후에는 두 번째 클릭을 등록하지 않습니다. :)
문제는 제가 시작하기 위해 요소를 클릭 할 수 있다는 것입니다. 그러나 S 키를 눌러 텍스트 요소 -> 단락에서 요소를 변경 한 후에는 더 이상 사용할 수 없습니다. 클릭 만하면 클릭 수는 등록되지 않습니다.jQuery가 등록되지 않았습니다.
이것은 사용중인 코드이며 첫 번째 클릭을 등록하지만 요소 전환 이후에는 두 번째 클릭을 등록하지 않습니다. :)
$('#dynamic')
이 반환하는 요소가 더 이상 존재하지 않습니다. 이벤트 핸들러를 바인딩 이벤트 위임을 사용해야합니다 :
$(document).on('click', '#dynamic', function() {
...
});
당신이 사라 입니다 원래 요소를 교체 할 때 - 함께 직접 결합 된 모든 핸들러. 다시 작성한 지점에서 핸들러를 다시 리 바인드하거나 요소가 이미 텍스트 영역인지 여부에 대한 테스트를 추가하려는 경우 위임 된 이벤트 핸들러를 사용할 수 있습니다.
$(document).on('click', '#dynamic', function() {
if (this.tagName === "TEXTAREA") return; // already a textarea, so no action needed
log('`Clicked`');
var text = $('#dynamic').text();
$('#dynamic').replaceWith('<textarea id="dynamic">' + text + '</textarea>');
});
Works 아주! 감사합니다 힙을 :) –