我不明白爲什麼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