2011-07-01 58 views
1

HTMLjQuery去抖動,將元素傳遞給函數的方式?

<input class="list_item_title mini" name="list_item[title]" size="30" type="text" value="What happens when a user creates a new item?"> 

JS:

function text_2(e) { 
    console.log(e.val()); 
}; 

$(function() { 
    $('input.list_item_title').keyup($.debounce(250, text_2)); 
}); 

e.val()目前不起作用。我怎麼能通過輸入,所以我可以得到的價值?

由於

+1

是它是這一個http://code.google.com/p/jquery-debounce/? –

+0

是的,這是一個! http://benalman.com/code/projects/jquery-throttle-debounce/docs/files/jquery-ba-throttle-debounce-js.html – TheExit

+0

「不起作用」是什麼意思?你究竟想要做什麼? 「輸入」? 「價值」?爲什麼這麼模糊?嘗試在你的問題中寫一些句子。 –

回答

0

e是將event object[docs],而不是input元素的引用。

您可以使用event.currentTarget[docs]獲取對input元素的引用。

的在看看源代碼,你也應該能夠this訪問元素(如任何其他事件處理程序),所以下面應該工作後:

function text_2(e) { 
    console.log($(this).val()); 
}; 
0
console.log($(e.target).val()); 
+1

在這種情況下,'target'確實是指處理程序綁定的元素。但總的來說,事件可能源於某個後代。 'currentTarget'可以更安全地使用(但事實證明,'這個'也可以)。 –