javascript – Probleme beim Aufrufen von Funktionen in JQuery-Klickereignissen
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-19 10:18:04
0
3
382

Abbildung 2 ruft die Funktion in Abbildung 1 auf und die Ausgabe ist undefiniert, aber in Abbildung 2 erzeugt der exakt gleiche Code im JQ-Klickereignis das Ausgabeergebnis. Dann habe ich in der Testfunktion eine Variable obj deklariert, um alle Objekte mit dem Attribut name=component_checkbox[] abzurufen. Zu diesem Zeitpunkt erfolgt beim Aufruf dieser Funktion im JQ-Click-Ereignis eine Ausgabe. Meine Frage ist, warum test() in Abbildung 2 das Ergebnis nicht ausgibt, aber undefiniert ist, wenn der Code in Abbildung 1 verwendet wird?

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(3)
我想大声告诉你

图二替换成这样:

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

MDN - Function.prototype.call

習慣沉默

因为this的作用域不一样了,click那个闭包里this指的是你选中的checkbox,test函数里this是window或者别的object

巴扎黑

图一的 $(this) 没有指向的值

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage