在我這幾天的工作中遇到了一個問題,google了一下找到了解決方案,不過是英文的,我簡單翻譯下讓更多的人能看懂
譯文如下:
我有一個可編輯的div,並且在DIV裡面還有一個可編輯的span,我想要讓span能響應鍵盤事件,
這裡是測試JS代碼:
$(function()
{
$('#someid'). keypress(function(event){alert('test');});
});
這裡是測試html程式碼:
editable follows>editable follows>editable follows>editable :Some TEXT
如果你在瀏覽器中測試,你會看見,當你在Some TEXT上press key時,沒有'test'彈出框彈出,我知道這個問題的發生原因是因為事件是從span的父節點div發出來的,所以span沒有觸發到事件,當然也是因為span沒有焦點造成的,所以我想要誰幫我找出解決方案。
最後終於有好心人幫助解決了這個問題
關於你的問題的解決方案代碼我已經提交到了http://jsfiddle.net/gaby/TwgkC/3/ 並且工作正常
在FF , Opera, Chrome, Safari, IE8 ..中測試
#someid需要獲得焦點才能觸發keypress,如果你想要你的程式碼獲得焦點在元素創建後立即使用.focus()方法
function AppendSpan()
{
$('#mydiv') .append('Some TExt');
//Then I want to handle the keypress event on the inserted span
$('# someid').keypress(function(event){
//do something here
alert(this.id);
}).focus();// bring focus to the element once you append it ..
}
追加:
兩個方法來引發事件,(事實上需要使用contenteditable屬性),不確定你是否能接受這種情況
1、包裹一個可編輯span在另一個的外層,並且設定它的屬性contenteditable="false"
demo js:
複製程式碼
複製程式碼
程式碼如下:
function AppendSpan()
{
$('#mydiv').append('Some TExt');
$('#someid'). keypress(function(event){alert('test');});
}
複製代碼
程式碼如下:
複製程式碼
複製程式碼
程式碼如下:
function AppendSpan()
{
demo html:

javaandjavascriptaredistinctlanguages:javaisusedforenterpriseandmobileapps,while javascriptifforInteractiveWebpages.1)JavaisComcompoppored,statieldinglationallyTypted,statilly tater astrunsonjvm.2)

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用