搜索

首页  >  问答  >  正文

javascript - JQuery点击事件里调用函数出现的问题

图2调用图1的的函数,输出的是Undefined,但是在图2在JQ点击事件里也了一模一样的代码就有输出结果。然后我又在test函数里声明了一个变量obj获取了属性为name=component_checkbox[]的所有对象,此时在JQ点击事件里调用此函数是有输出的。我的问题就是为什么图2里的test()是图1里的代码就没有输出结果而是undefined?

曾经蜡笔没有小新曾经蜡笔没有小新2736 天前385

全部回复(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
  • 取消回复