搜尋

首頁  >  問答  >  主體

javascript - JQuery點擊事件裡呼叫函數出現的問題

##圖2呼叫圖1的的函數,輸出的是Undefined,但是在圖2在JQ點擊事件裡也了一模一樣的程式碼就有輸出結果。然後我又在test函數裡聲明了一個變數obj取得了屬性為name=component_checkbox[]的所有對象,此時在JQ點擊事件裡呼叫此函數是有輸出的。我的問題就是為什麼圖2裡的test()是圖1裡的程式碼就沒有輸出結果而是undefined?

曾经蜡笔没有小新曾经蜡笔没有小新2750 天前403

全部回覆(3)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:20:04

    圖二替換成這樣:

    // test()  要指定this 为被点击的元素 
    test.call(this);  // 利用call方法 

    MDN - Function.prototype.call

    回覆
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:20:04

    因為this的作用域不一樣了,click那個閉包裡this指的是你選中的checkbox,test函數裡this是window或別的object

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:20:04

    圖一的 $(this) 沒有指向的值

    回覆
    0
  • 取消回覆