事件代理用到了兩個(gè)在JavaSciprt事件中常被忽略的特性:事件冒泡以及目標(biāo)元素。當(dāng)一個(gè)元素上的事件被觸發(fā)的時(shí)候,比如說鼠標(biāo)點(diǎn)擊了一個(gè)按鈕,同樣的事件將會在那個(gè)元素的所有祖先元素中被觸發(fā)。這一過程被稱為事件冒泡;這個(gè)事件從原始元素開始一直冒泡到DOM樹的最上層。對任何一個(gè)事件來說,其目標(biāo)元素都是原始元素,在我們的這個(gè)例子中也就是按鈕。目標(biāo)元素它在我們的事件對象中以屬性的形式出現(xiàn)。使用事件代理的話我們可以把事件處理器添加到一個(gè)元素上,等待事件從它的子級元素里冒泡上來,并且可以很方便地判斷出這個(gè)事件是從哪個(gè)元素開始的。
var nxtIdx = $inp.index(this) + 1;
取的元素集合inp中的下一個(gè)元素索引
$(":input:text:eq(" + nxtIdx + ")").focus();
定位焦點(diǎn)到集合的下一個(gè)元素
3.、HTML代碼
<div> <asp:TextBox ID="txt1" runat="server" /><br /> <asp:TextBox ID="txt2" runat="server" /><br /> <asp:TextBox ID="txt3" runat="server" /><br /> <asp:TextBox ID="txt4" runat="server" /><br /> </div>
分析:頁面上存放四個(gè)文本框
3、運(yùn)行程序
那頁面中如果有TextArea 元素,我們?nèi)绾问褂肊nter切換焦點(diǎn)呢,辦法是有的,如下充分運(yùn)用了Jquery的一些特性。
4、HTML代碼
<div> <asp:TextBox ID="tb1" runat="server" class="cls" /><br /> <asp:TextBox ID="tb2" runat="server" class="cls" /><br /> <asp:TextBox ID="tb3" TextMode="MultiLine" runat="server" class="cls" /><br /> <asp:TextBox ID="tb4" runat="server" class="cls" /><br /> </div>
出處:靈動(dòng)生活
責(zé)任編輯:bluehearts
上一頁 Jquery實(shí)現(xiàn)回車鍵Enter切換焦點(diǎn) [1] 下一頁 Jquery實(shí)現(xiàn)回車鍵Enter切換焦點(diǎn) [3]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|