我在JSFiddle here中定义了以下方法。小提琴f1.jsf2.js中分别有两个JS文件。我正在测试,看看f2是否可以从f1访问该属性。基本上,我想要self.mySubtype中的f2.js值。在self.mySubtype = "Foo";方法外部定义值.on()可以正常工作,并且您会看到Foo。但是,当我在注释掉self.mySubtype = "Foo";后尝试将.on()移到self.mySubtype = obj.nc_subtype;下方的self.mySubtype = obj.nc_subtype;方法内部时,在undefined警报中出现了f2.js消息。

有没有一种方法可以访问此值,因为在我的Web应用程序代码中,我将需要self.mySubtype的值为obj.nc_subtype;

$("#dataDocumentPanel").on('rowclick',function(event){

           var row = event.args.rowindex;

           var datarow = $("#dataDocumentPanel").jqxGrid('getrowdata', row);
           var jsonStringify = JSON.stringify(datarow,null,10);
           alert(jsonStringify); // This alert displays the JSON data in a formatted manner
           var obj = jQuery.parseJSON(response);
           //alert("display Subtype "+obj.nc_subtype)  // Works fine

           self.mySubtype = obj.nc_subtype;
           //self.mySubtype = "Foo"; // Doesn't works and displays undefined in f2 alert.

         });

最佳答案

您的.on('rowclick',function(event){没有被运行。输入时可以访问该值的原因:

//I added this line for the demo to show 'f2' accessing this property from 'f1'. You should remove it if copying this code into your application
self.mySubtype = "Foo";


是因为该代码被执行了。除非发生该事件,否则onrowclick不会执行。这不是在你的小提琴中发生。单击该行后,该代码将被执行。

09-07 21:09