我在JSFiddle here中定义了以下方法。小提琴f1.js
和f2.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不会执行。这不是在你的小提琴中发生。单击该行后,该代码将被执行。