我有幾個Javascript函數看起來都和我很相似。但行爲與我想要的不同。類似的jquery函數不會觸發keyup()不止一次
我希望另一個元素在輸入值被評估時用一些文本更新。然而,對於代碼可重用性,我希望將要更新的元素傳遞給函數,但是當我這樣做時,在文本輸入到輸入框中時,keyup()
事件不會觸發。
這是爲什麼?
這是一個工作,但我有這樣指定明確更新的元素。
KEYUP工作
$(function(){
$("#form1").keyup(function(){
var val = $(this).val();
if(val.length < 5){
$("#inputFeedback").html("Less then 5 chars");
}else{
$("#inputFeedback").html("More then 5 Chars!");
}
});
這裏是我想做些什麼,但keyup()
事件將不會努力。
KEYUP不工作
var validate = function(feedback){
var val = $(this).val();
if(val.length < 5){
$(feedback).html("Less then 5 chars");
}else{
$(feedback).html("More then 5 Chars!");
}
}
$(function(){
$("#form1").keyup(validate($("#inputFeedback")));
});
注:我也嘗試作爲參數$(this)
和"#inputfeedback"
無濟於事!
我也嘗試過使用古典Javascript function foo(bar){ ... }
類型的函數,但是這與上面的最後一個例子具有相同的效果。
我確定這是我在這裏沒有做對或理解的事情,但經過好幾個小時的搜索和閱讀後,我找不到任何東西來幫助我完成這一步!
感謝
+1教給我一個新的語法$(document).ready() – Jere 2010-12-05 13:57:34