JavaScript 窗口['func'],参数返回 undefined 而不是函数
javascript window['func'] with parameters returning undefined instead of function
我正在尝试将json传递给一个函数,该函数反过来获取json并显示动态ui-mod对话框。当我尝试传递按钮事件(函数)时,您的正在执行并返回未定义的如何将引用传递给函数而不是实际函数。对不起我的英语,下面的代码解释得更好:
//heres my ui model function
function showDialog(json) {
var dialog_id = json.id;
if(typeof($(dialog_id)[0]) === "undefined") {
$(body).append("<div id='dialog-confirm'></div>");
}
$(dialog_id).html(json.confirmationText);
$(dialog_id).dialog({
modal: true,
title: json.title,
height: 250,
width: 400,
buttons:json.buttons
});
}
//here is the function which calls
showDialog({"id":"#dialog-confirm","title":"blaa","confirmationText":'randomtext',"buttons":[{"text":"Cancel","click":window["noAction"]},{"text":"Confirm","click":window["doAction"]('pram1','param2')}]});
var noAction = function(){$('#dialog-confirm').dialog('close');}
var doAction = function(param1,param2){//do some logic};
noAction
功能工作正常。(调用模型并单击"取消"时,对话框消失)
调用函数 showDialog 并返回undefined
(在控制台中验证)时,doAction
函数正在被计算。如何将操作绑定到确认按钮。(即,当单击"确认"时,我想调用doAction)。
PS:我知道如何使用自定义点击处理程序来做到这一点,但我认为这将是一个解决方法,但不是实际的解决方案。
任何帮助将不胜感激。提前感谢!
试试 showDialog({..., "buttons":[...,{"text":"Confirm","click":function(){doAction(param1,param2);} }]})
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 为什么会出现错误,“UncaughtTypeError:undefined不是函数”
- mongoose.connect undefined不是一个函数
- Uncaught TypeError:undefined不是函数-ember js
- jQuery Mobile Undefined不是一个函数
- 未捕获的类型错误:undefined不是函数$
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 为什么Grunt Copy给了我一个'undefined不是函数'警告
- Bootstrap-“;未捕获的类型错误:undefined不是函数;
- Undefined不是函数ImpressPages DatePicker
- 尝试使用.ninnerHTMLlog打印数据,获取错误Uncaught TypeError:undefined不是函数
- 得到“;undefined不是函数“;错误
- Undefined不是Fullcalendar js上的函数
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- jqGrid:undefined不是函数
- Jquery,Uncaught TypeError:undefined不是函数
- $http.post undefined 不是函数
- Ember cli Uncatch TypeError: undefined 不是函数
- Infragistics igGrid Uncatch TypeError: undefined 不是一个函数
- JQuery脚本在Firefox上工作;undefined不是函数“;铬