我的目標是,當我專注於最後一行文本時,另一行出現在它的下面。然後在一定數量的線路上禁用此功能。 我似乎無法弄清楚什麼是錯在這裏:什麼是動態添加事件的正確方式?
$(document).ready(function() {
lineCount = 0;
$("form#qc").delegate("input:text:last-child", "focus", newTextLine);
});
function newTextLine() {
newLine = ("<div id='ansInput{0}'>Answer {0}: <input type='text' name='ans1' /></div><!--ans1-->").format(lineCount);
currentDiv = ("#ansInput{0}").format(lineCount);
$(currentDiv).after(newLine);
lineCount = lineCount++;
}
這是HTML頁面:
<form id="qc" name="qc">
<h2>Create New Question!</h2>
<div id="ansInput0">Question: <input type="text" name="Question" /></div><!--question-->
<input type="submit" value="Submit" />
</form>
我得到一個非常非常weired結果:每次兩行顯示,所有的有索引0
和所有響應的事件處理程序,假設只爲最後一個工作... 任何想法有什麼問題的代碼?
還就如何使代碼更聰明任何意見,歡迎!
@Andy,thanx的解決方案,但你能說出我的代碼中的問題嗎? – ilyo 2011-05-27 17:16:36
@Andy也是'$(「#qc> div:last-of-type> input」)'在div的最後一個div或最後一個輸入中選擇輸入? – ilyo 2011-05-27 17:21:01
哦,最後一個:)爲什麼你使用'.end()'? – ilyo 2011-05-27 17:23:04