check()
ファンクションがなぜ発火しないのか分かりませんが、このファンクションをsetInterval(check, 1000)
に設定するか、$("#btn-click")
に設定すると機能しますが、なぜ機能しないのか分かります今?あなたはファンクションは発射したくない
$(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 trののtd'要素が存在しないということですので、あなたは、任意のクリックイベントハンドラを追加していません。また、 'e.target' /' tar.is() 'チェックは冗長です。彼らはいつも一致します –
*機能は発射したくない*その後、それをR.I.P. – Rajesh