2011-03-08 38 views
4

代碼可以在這裏進行測試:http://jsfiddle.net/yWUTK/3/與textarea和.text的JQuery/Firefox錯誤?

<textarea id='textbox'></textarea> 

<span onclick="$('#textbox').text('One');">One</span> 
<span onclick="$('#textbox').text('Two');">Two</span> 

行爲此在Chrome和Firefox是一樣的,你點擊一個或兩個,並改變textarea的。但是,在Firefox上,如果您手動更改textarea的內容,則單擊時不再更新。 Chrome繼續正常工作。

我運行Firefox 3.6.15

任何人都可以解釋這種現象?我不確定我是否做錯了什麼,或者它是否是一個真正的錯誤。我的實際執行使用適當的標記和$(document).ready等。

+0

爲什麼要綁定onclick屬性中的click事件*? – Keeper 2011-03-08 11:20:49

+0

更新後,我不知道我在想什麼lol – NibblyPig 2011-03-08 11:24:42

回答

7

然而,您確實是正確的,將它們更改爲val()works

<span onclick="$('#textbox').val('One');">One</span> 
<span onclick="$('#textbox').val('Two');">Two</span> 

val()可以說是更正確的使用方法。另外,我相信你知道,你不應該使用內聯事件處理程序,除非像上面這樣簡單的例子。

+0

但是,你應該刪除'$(this).click ...',因爲每次點擊你都綁定一個額外的點擊事件。只需要'onclick =「$('#textbox')。val('One');」'而不是。 – 2011-03-08 11:21:25

+0

這是對JQuery的最近更改嗎?我的印象是,val()不適用於textareas,因爲該值與輸入字段沒有相同的表示 – NibblyPig 2011-03-08 11:21:51

+0

@Blair McMillan是的,我剛剛複製了OP的示例。 – alex 2011-03-08 11:24:47

相關問題