2011-11-21 35 views
0

我正在開發一個簡單的html文本編輯器,我使用了div的contenteditable設置爲true來實現這一點。可編輯的div元素內的鼠標事件

我有一些按鈕(粗體,斜體,...),讓用戶可以修改的文本。我想根據每個命令的狀態更新這些按鈕的狀態,因此如果光標位於粗體文本中,則該按鈕的圖像應顯示粗體處於打開狀態。

我可以keyup事件中做到這一點,所以在每個KEYUP我檢查所有命令的狀態和更新的按鈕。

不過,我希望能夠也做,當用戶點擊DIV的一部分。我嘗試了mouseup並單擊div的事件,但它們只在div被選中時才觸發,而不是在內容被選中時觸發。

有沒有一種方法來捕捉一個div元素裏面的鼠標事件,這樣我可以更新的按鈕?

回答

1

如果我正確理解你的問題,只是讓所有B或強標籤(無論你正在使用)您的文檔中的單擊事件。如果div外有粗體文本,請使用CSS樣式font-weight:bold;的跨度。

+0

感謝Ben,但是如果有更多標籤而不僅僅是粗體和斜體呢?應該爲每一個註冊點擊事件? – Milad

+0

@Milad,我沒有看到它的缺點,因爲不管你有多少標籤,總會有一種方法來附加一個JavaScript事件。它可能是很多代碼,但它會完成工作。 – diracdeltafunk