首先,我們要解決的雙標籤的問題,他們發生,因爲這些處理器的:
$("#bold").click(function() { ... });
$("#italic").click(function() { ... });
$("#underline").click(function() { ... });
$("#link").click(function() { ... });
他們正在綁定裏面您的.each()
循環,意思是一個處理程序正在綁定您正在運行您的代碼的每個元素,創建n
手在.each()
循環之外移動這些處理程序(並確保它們是.unbind()
或使用.live()
,以防萬一插件也運行多次)。
雖然我們在這,但我們應該將$(document).mousedown(function() { ... });
也移出該循環,同樣的問題是不想多次綁定它。
你的IE/Firefox問題主要是這個例子是如何在JSBin上設置的結果(jQuery沒有被定義,因爲包含),而不是實際的插件問題。然而,因爲.select()
可以跨瀏覽器使用,我認爲你可以消除$.browser.msie
子句,至少在IE8中不需要,但是如果你想支持它們,一定要測試舊版本。
只有以上更改和一些代碼格式改進(例如.css()
可以採用對象),I've setup your code for testing here。
什麼不工作?如果我在第一個或第二個文本區域中單擊以使粗體顯示,它將顯示在預覽中。此時期望的行爲是什麼? – 2010-08-06 11:56:55
查看更新的問題 – 2010-08-06 12:15:33