나는 왜 check()
함수가 실행되기를 원하지 않는지 이해할 수 없다.이 함수를 setInterval(check, 1000)
으로 설정하거나 $("#btn-click")
으로 설정하면 작동하지만 작동하지 않는 이유는 알고있다. 지금? 당신이 나에게 함수가 실행되기를 원하지 않는다.
0
A
답변
2
함수 불을하지만,에 이벤트를 첨부 할 TD 요소가 없습니다 . 동적으로 생성됩니다 요소에 이벤트를 바인딩 할 경우
, 당신은 단지 예를 들어 아래 $(body').on(evtType,selector,handler)
체크를 사용, 체크 기능이 필요하지 않습니다. 동적으로 추가 할 모든 td는 'body'에 첨부되어 있기 때문에 여전히 이벤트 리스너에 바인딩됩니다.
$(function() {
$("#field").on("keyup", function() {
var x = $(this).val();
$("#outcome").text(x);
});
$("#btn-save").click(function() {
var name = $("#outcome").text();
var x = $("table tbody").append("<tr><td>" + name + "</td></tr>")
$("#field").val("");
$("#outcome").text("");
});
check();
function check() {
console.log('firing')
}
$('body').on('click', 'table tbody tr td', function(e) {
var tar = $(e.target);
var b = $(this);
if (tar.is(b)) {
b.css("color", "red");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<input type='text' id='field'>
<p>The result is: <span id="outcome"></span>
</p>
<span id="btn-save" class="btn-save">save</span>
<table>
<thead>
<tr>
<th>Names</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
0
check()
이 발사됩니다
$(function() {
$("#field").on("keyup", function() {
var x = $(this).val();
$("#outcome").text(x);
});
$("#btn-save").click(function() {
var name = $("#outcome").text();
var x = $("table tbody").append("<tr><td>" + name + "</td></tr>")
$("#field").val("");
$("#outcome").text("");
});
check();
function check() {
if ($("table tbody").has("tr")) {
$("table tbody tr td").on("click", function(e) {
var tar = $(e.target);
var b = $(this);
if (tar.is(b)) {
b.css("color", "red");
}
});
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<input type='text' id='field'>
<p>The result is: <span id="outcome"></span></p>
<span id="btn-save" class="btn-save">save</span>
<table>
<thead>
<tr>
<th>Names</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
tbody
,
td
)를 가리키는 나쁜 선택자를 가진 논리 인
if
때문에 아무 일도하지 않고 있습니다.
당신은 그 click
이벤트 핸들러가 td
요소를 생성하기 때문에 당신이 btn-save
을 클릭 완료 될 때까지 테이블에 td
요소를받지 않습니다. 버튼이 클릭되기 전에 코드가 check
을 실행하려고합니다.
나는 tbody
에 대한 참조를 제거하고 th
에 td
참조를 변경하고 지금은 작동했습니다
$(function() {
$("#field").on("keyup", function() {
var x = $(this).val();
$("#outcome").text(x);
});
$("#btn-save").click(function() {
var name = $("#outcome").text();
var x = $("table tbody").append("<tr><td>" +name+"</td></tr>")
$("#field").val("");
$("#outcome").text("");
});
check();
function check() {
console.log("HELLO FROM CHECK!");
if ($("table").has("tr")) {
$("table tr th").on("click", function(e) {
var tar = $(e.target);
var b = $(this);
if (tar.is(b)) {
b.css("color", "red");
}
});
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='field'>
<p>The result is: <span id="outcome"></span></p>
<span id="btn-save" class="btn-save">save</span>
<table>
<thead>
<tr>
<th>Names</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
관련 문제
- 1. 퀵타임 플레이어가 iOS 앱에서 실행되기를 원하지 않습니다.
- 2. 하스켈 함수가 종료되지 않는다
- 3. 함수가 내 인수를 원하지 않습니까?
- 4. 함수가 원하지 않는 값을 반환합니다
- 5. Eclipse가 갑자기 내 재정의를 원하지 않는다.
- 6. 자바 while 루프가 멈추길 원하지 않는다
- 7. 내 맞춤 클래스가 컨테이너에 들어가기를 원하지 않는다.
- 8. CSS, 나는 요소를 부유시키기를 원하지 않는다.
- 9. 레일즈 - sql o/p에서 시간대를 원하지 않는다
- 10. Haskell 순열 함수가 컴파일되지 않는다
- 11. IndexOf 함수가 C에서 작동하지 않는다
- 12. ASP.NET MVC JQuery Ajax 함수가 실행되지 않는다
- 13. mysqli 함수가 아무 값도 반환하지 않는다.
- 14. 페이지 매김 후에 함수가 실행되지 않는다.
- 15. 큰 숫자의 경우 파이썬 함수가 응답하지 않는다
- 16. 함수가 돌아 오지 않는다. 매우 이상하다.
- 17. 내 함수가 파이썬에서 아무것도 반환하지 않는다.
- 18. JQuery의 post() : 콜백 함수가 호출되지 않는다.
- 19. 파이썬 클래스 함수가 변수를 반환하지 않는다
- 20. 파이썬의 재귀 함수가 목록을 변경하지 않는다
- 21. ASIHTTPRequest가 내 데이터를 캐시합니다. 나는 어떤 종류의 캐시도 원하지 않는다.
- 22. 버튼을 클릭 할 때 UIButton이 선택 상태로 유지되기를 원하지 않는다.
- 23. NSUserDefaults가 iCloud에 동기화 되나요? 나는 그들을 원하지 않는다
- 24. 나는 사용자가 Wordpress와 cakephp에서 두 번 로그인하기를 원하지 않는다.
- 25. R이 char을 기본적으로 논리 값으로 변환하는 것을 원하지 않는다.
- 26. <select> 드롭 화살표가 컨테이너 밖으로 나가기를 원하지 않는다.
- 27. 12 시간마다 자동으로 도움말 프로그램이 실행되기를 원합니다.
- 28. 자바 스크립트가 특정 레일 뷰에서만 실행되기를 원합니다.
- 29. 뮤텍스가 다시 실행되기를 기다리는 스레드는 어떻게됩니까?
- 30. 라디오 요소의 한 옵션이 선택 될 때마다 함수가 실행되기를 원합니다. 라디오 요소는 jQuery를 사용하여 동적으로 생성됩니다.
'체크()'절대적으로 미세 발포 - 당신은 모든 클릭 이벤트 처리기를 추가하지 않을 귀하의 문제는 더'테이블 TBODY의 그럴 td' 요소가없는 것입니다. 또한'e.target' /'tar.is()'체크는 중복됩니다. 그들은 항상 일치 할 것이다 –
* 기능은 발사하고 싶지 않다 * 그렇다면 R.I.P. – Rajesh