원합니다
1. #skillKey tr 요소를 클릭하면 코드 색상이 변경됩니다.
2. 이후 키보드를 통해 입력하면 현재 요소의 텍스트가 변경됩니다. 디버깅단계는 생략됩니다. as Alert(123)
HTML 코드 코드는 다음과 같습니다.
<table id="skillKey"> <tbody> <tr>Q</tr> </tbody> <table>
JQuery코드는 다음과 같습니다.
$(function () { $('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(function(){ alert(123) }); }); })
요소를 클릭하면 색상이 바뀌는데 키보드를 통해 입력하면 경고가 표시되지 않는 이유는 무엇입니까? 실제로 $(document).keyup()을 통해 효과를 얻을 수 있는데, 그 이유를 알고 싶습니다. 아마도 keyup()이 바인딩되어야 하는 요소 유형과 관련이 있는 것일까요?
또 다른: 잘못된 keyup()function호출 방법입니다. 다음과 같이 작성하면:
$(function () { $('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(alert(123)); }); })
그럼 tr을 클릭한 후 요소의 색상이 변경되면 123 창이 나타납니다.
먼저 실수 중 하나를 지적하세요
$('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(function(){ alert(123) }); });
event를 이렇게 바인딩하면 tr은 클릭할 때 한 번 바인딩되고, 클릭한 횟수만큼 바인딩됩니다. 이 예는 여전히 바인딩되지 않습니다. 당신은 tr에 있습니다. 입력을 한 후 다음 코드를 작성하여 효과를 확인하고
$('#skillKey').on('click', 'input', function () { $(this).css('color','red'); $(this).blur(function(){ alert(123) }); });
제안해 주세요
사용해야 할 요소는 먼저 cache일 수 있습니다. $를 남용하지 마세요. 읽기 쉽다면 체인을 사용할 수 있습니다
$('#skillKey').on('click', 'tr', function () { var $this = $(this); $this .css('color', 'red') .keyup(function () { alert(123) }); });
위 내용은 jquery에서 keyup 이벤트가 실행되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!