亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

html Li標簽中的textarea標簽無法獲得焦點。

html Li標簽中的textarea標簽無法獲得焦點。

胡子哥哥 2019-03-05 09:31:55
1.用jquery寫一個問卷,有一道題是如果選了這道題的某個選項 那么這個選項會被打鉤并且會出現一個輸入框供用戶輸入描述,如下圖:再次點擊這個選項則輸入框消失,選項收起,我用的是Li標簽,給Li標簽綁定點擊事件,如果被點擊那么插入一個textarea標簽,但是這時候被插入的textarea標簽無法獲得焦點,我想點擊這個選項后點擊輸入框輸入文字,但是選項被收起了,相當于觸發了Li的點擊事件,我的解決方法如下:即如果點擊的是輸入框那么return false,不讓其觸發li的點擊事件,但是感覺不是正規解法,請問應該怎么解決這種問題,把return false換成stopPropgation阻止冒泡阻止觸發li的點擊事件為什么沒用?
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

1.stopPropgation不行是因為你綁定在li上,其不能阻止同一個節點上的其他事件句柄被調用。而且整體運行沒有被終止,后面的if仍然有效并執行。而return則直接結束了。

2.減少DOM操作,提高效率。

3.可以換種思路,代碼如下:


$( '.type-2 li' ).on( {

  click( e ) {

    let $this = $( this );

    

    $this.toggleClass( 'selected' ).hasClass( 'selected' )

      ? e.target.nodeName === 'LI'

          &&  $this

                .children( 'i' )

                .remove()

      : $this

          .append(

            `<i class="iconfont icon-select-answer animated slow infinite">

                <textarea placeholder='輸入具體描述(必填):'></textarea>

             </i>`

          ).focus()

  }

});


查看完整回答
反對 回復 2019-03-11
  • 1 回答
  • 0 關注
  • 988 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號