nyroModal应用报错
如下:
$.nyroModalSettings is not a function
}, 'css', 'content');
找了半天,也没搞定,最后才找出问题。
Javascript问题出错可真费事儿啊。也难怪所有web应用Javascript出错也是最难搞定的。
google也统计了 最fuck的语言,全球程序员都觉得是Javascript。
报这样的错误有三种原因
原因一:$('.total').click(function(e) 是不能放在$(document).ready(function() { }中的,应该$('.total').click(function(e) 提出来,不要包含在其中
$(document).ready(function() {
$('.total').click(function(e){
e.preventDefault();
$.nyroModalSettings({
background: '#abcdef'
}, 'css', 'content');
//$.nyroModalSettings({bgColor: '#abcdef'});
$.nyroModalSettings({overflow: 'auto'}, 'css', 'content');
var id = $(this).attr("detailid");
//alert(id);
var turl = '/details/querydetails';
$.nyroModalManual({
url: turl,
ajax: {data: "id="+id+"&type=1&level=1&returntype=1&node=200", type: 'post'},
width: 920,
height: 760,
endShowContent: function(elts, settings) {
$('#detailtv').treeview({
prerendered: false,
collapsed: true
});
}
});
});
});
原因二:当前页面在点了其它遮罩时,这个遮罩用了load函数把当前的 nyroModal.js 相关的js文件去掉了,
在恢复到当前页面时,原当前页面的js被替换了。
解决方法是:要对点的遮罩静态页面把相关nyroModal.js 几个文件也要带上,这样才能保证回调到当前页面时js是存在的
问题演示:
$('.yujie').click(function(e){
e.preventDefault();
var turl = $(this).attr('turl');
$("#yujiemod").load(turl, function(){ //这个用了load函数,把当前的js替换了.
dialogtrain = $('#yujiemod').dialog({
autoOpen: false,
position: 'top',
modal: true,
width: 600,
zIndex: 120,
height: 400,
overlay: { backgroundColor: "#000", opacity: 0.5 },
title: '费用修改'
});
dialogtrain.dialog('open');
}
);
return false;
});
先点了
<a href="#" class="yujie" turl="/financeconfirmed/modduefrom/htid/<?php echo $wzcht['id'];?>/mod/1">修改</a>
再点
<td align="center" bgcolor="#FFFFFF" detailid="<?php echo $wzcht['id'];?>" class="total detaillink">YD201012002321</td>
发现 total 关连的页面打不开,还报错
$.nyroModalSettings is not a function
}, 'css', 'content');
解决是
/financeconfirmed/modduefrom.phtml
页面把
nyroModal.js 几个文件加上,以便回调时当前页面依然能使用遮罩文件
原因三:如果上面两种情况都排除了.并且 nyroModal.js 几个文件也都存在当前的文件中
经测试,和上面两种原因无关,但是要这个思路
哪么就应该用parent.(有点符号引用)
$('.total').click(function(e){
e.preventDefault();
$.nyroModalSettings({
background: '#abcdef'
}, 'css', 'content');
$.nyroModalSettings({overflow: 'auto'}, 'css', 'content');
var id = $(this).attr("detailid");
//alert(id);
var turl = '/details/querydetails';
$.nyroModalManual({
url: turl,
ajax: {data: "id="+id+"&type=1&level=1&returntype=1&node=200", type: 'post'},
width: 920,
height: 760,
endShowContent: function(elts, settings) {
$('#detailtv').treeview({
prerendered: false,
collapsed: true
});
}
});
});
改为:
在$.nyroModalSettings前面 修改为parent.$.nyroModalSettings
凡是在回调引用的都要加parent.
比如 下面的#detailtv 也要加上parent.$('#detailtv').treeview
$('.total').click(function(e){
e.preventDefault();
parent.$.nyroModalSettings({
background: '#abcdef'
}, 'css', 'content');
parent.$.nyroModalSettings({overflow: 'auto'}, 'css', 'content');
var id = $(this).attr("detailid");
var turl = '/details/querydetails';
parent.$.nyroModalManual({
url: turl,
ajax: {data: "id="+id+"&type=1&level=1&returntype=1&node=200", type: 'post'},
width: 920,
height: 760,
endShowContent: function(elts, settings) {
parent.$('#detailtv').treeview({
prerendered: false,
collapsed: true
});
}
});
});
分享到:
相关推荐
NULL 博文链接:https://zhangzhaoaaa.iteye.com/blog/2123021
使用了jquery的nyroModal插件和jquery.form.js插件,nyroModal插件的详细使用可参考 http://nyromodal.nyrodev.com/,jquery.form.js插件的详细使用网上搜索,可有很多资料。 示例的目的是iframe中弹出窗口后,遮罩...
jquery submit()无法提交表单 报错:f[s] is not a function,很是疑惑搜集整理了一些解决方法,感兴趣的朋友可以了解下啊,希望本文对你有所帮助
针对bug问题: form.ajaxSubmit is not a function,需要引入包jquery-form.js,下载后解压,引入即可。
主要介绍了seajs加载jquery时提示$ is not a function该怎么解决的相关资料,需要的朋友可以参考下
jquery-2.table2excels. 1、需要引入jquery.js和jquery.table2excel.min.js 2、增加绑定事件,例子: ------------------- //导出excel $("#output").click(function(){ var myDate = new Date(); $("#example")....
jquery.table2excel.js,一款挺好用的javascript导出插件,需要jquery-1.7.1.min.js的支持。使用方法: $(document).ready(function() { //导出excel $("#output").click(function(){ var myDate = new Date(); ...
今天小编就为大家分享一篇解决Layui中layer报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
qrcode包就是一个可以将字符串画出二维码的jquery包,这个里面包含了jquery1.8.3和qrcode以及jquery_qrcode包,在用的时候按照上面的顺序依次加载就可以了。调用方法qrcode()
github打不开,调试HOSTS文件后,终于下载来了,有需要的可以直接下载
1.在vue项目中的js代码语法与之前使用js和jquery还是有所出入的,现遇到一个点击按钮出现倒计时30S的效果 相信大家对着两个函数都陌生,就是一个定时器,setTimeOut只执行一次,而setInterval会重复执行 需要注意的...
使用jquery.qrcode生成二维码(支持中文) 原理:如果浏览器支持canvas,则使用canvas绘制二维码,否则使用table绘制,但是canvas效率比table高。 适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗...
NULL 博文链接:https://mrwillgo.iteye.com/blog/1210704
eclipse导入jquery包后报错,下面有个不错的解决方法,需要的朋友可以参考下
jQuery简单应用实例
NULL 博文链接:https://taotie119.iteye.com/blog/1328377
jQuery插件imgAreaSelect 实例代码,自己实践后的代码,很简单的代码,完成了图片上传、剪切的功能,很不错,推荐。
1、采用Jquery + poshytip +正则表达式进行表单验证; 2、调用页面无需多加Js调用,直接在所需使用的表单域上加相应的属性即可; 3、表单接交时将自动进行判断与Tip错误提示;