Javascript 浏览器兼容性问题-不适用于IE
我的工作在Firefox和GoogleChrome上运行良好,但在IE上不起作用。你能指出我哪里弄错了吗 Scripts.jsJavascript 浏览器兼容性问题-不适用于IE,javascript,jquery,Javascript,Jquery,我的工作在Firefox和GoogleChrome上运行良好,但在IE上不起作用。你能指出我哪里弄错了吗 Scripts.js $(document).ready(function () { $('.delete').click(function () { var contentId = $(this).attr('contentid'); $.confirm({ 'title': 'Delete Confirmation',
$(document).ready(function () {
$('.delete').click(function () {
var contentId = $(this).attr('contentid');
$.confirm({
'title': 'Delete Confirmation',
'message': 'Are you sure you want to delete this record?',
'buttons': {
'Yes': {
'class': 'blue',
'action': function () {
DoDelete(contentId);
}
},
'No': {
'class': 'orange',
'action': function () {}
// Nothing to do in this case. You can as well omit the action property.
},
'close': {
'action': function () {}
// Nothing to do in this case. You can as well omit the action property.
}
}
});
});
});
confirmscript生成HTML标记
(function ($) {
$.confirm = function (params) {
if ($('#confirmOverlay').length) {
return false;
}
var buttonHTML = '';
$.each(params.buttons, function (name, obj) {
buttonHTML += '<a href="#" class="button ' + obj['class'] + '">' + name + '<span></span></a>';
if (!obj.action) {
obj.action = function () {};
}
});
var markup = [
'<div id="confirmOverlay">',
'<div id="confirmBox">',
'<div id="header">',
'<div id ="title">',
params.title,
'</div></div>',
'<div id ="textbox">',
'<p>',
params.message,
'</p></div>',
'<div id="confirmButtons">',
buttonHTML,
'</div></div></div>'
].join('');
$(markup).hide().appendTo('body').fadeIn();
var buttons = $('#confirmBox .button'),
i = 0;
$.each(params.buttons, function (name, obj) {
buttons.eq(i++).click(function () {
obj.action();
$.confirm.hide();
return false;
});
});
}
$.confirm.hide = function () {
$('#confirmOverlay').fadeOut(function () {
$(this).remove();
});
}
})(jQuery);
(函数($){
$.confirm=函数(参数){
if($('confirmOverlay')。长度){
返回false;
}
var buttonHTML='';
$.each(参数按钮、函数(名称、对象){
按钮HTML+='';
如果(!目标动作){
obj.action=函数(){};
}
});
变量标记=[
'',
'',
'',
'',
副总统职务,
'',
'',
“”,
参数消息,
“”,
'',
钮扣,
''
].加入(“”);
$(标记).hide().appendTo('body').fadeIn();
变量按钮=$(“#confirbox.button”),
i=0;
$.each(参数按钮、函数(名称、对象){
按钮。eq(i++)。单击(函数(){
obj.action();
$.confirm.hide();
返回false;
});
});
}
$.confirm.hide=函数(){
$('confirmOverlay')。淡出(函数(){
$(this.remove();
});
}
})(jQuery);
首先,您的$('.delete')
处理程序的第一行是:
var contentId = $(this).attr('contentid');
但是.delete
的标记是:
<div class="delete"></div>
你可以这样做:
$('#confirmBox .button').each(function(button) {
$(button).click(function () {
params.buttons[$(this).text()].action();
$.confirm.hide();
return false;
});
});
什么不起作用?它应该怎么工作?到目前为止你都在做些什么?@user,专注于什么。我们需要知道代码应该做什么,这是确认对话框,当我点击一个div,script.js被执行,并将标题和消息参数发送到确认脚本,该脚本将生成HTML标记。我对糟糕的通信深表歉意-----------------我的HTML--------------------一个jQuery确认对话框替换为CSS3 | Tutorialzine演示感谢您的指导该脚本在firefox和chrome上运行良好,我能够查看标记和确认对话框,但在IE上不起作用我使用了JSFIDLE,我添加了;尽管如此,我还是忽略了它在IE上不起作用,也没有收到任何警告,但我确实修复了它,我所做的只是将确认按钮div放在文本框div中,然后我开始在IE上工作。。。所以我还是有点困惑,我会在我的系统崩溃时将更新后的代码发布到Tom上
$('#confirmBox .button').each(function(button) {
$(button).click(function () {
params.buttons[$(this).text()].action();
$.confirm.hide();
return false;
});
});