收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1147|回复: 2

[求助] 重构window.confirm后,为何不执行操作?

[复制链接]
发表于 2015-1-5 15:47:58 | 显示全部楼层 |阅读模式

  1. window.confirm = function(msgstr){
  2.     var h = document.documentElement.scrollHeight;
  3.     var w = document.documentElement.scrollWidth;
  4.     var dv = document.createElement("div");
  5.     dv.setAttribute('id','bg');
  6.     //设置样式
  7.     dv.style.height = h + "px";
  8.     dv.style.width = w + "px";
  9.     dv.style.zIndex = "1111";
  10.     dv.style.top = 0;
  11.     dv.style.left = 0;

  12.     //如果不想遮罩,可以去掉这两句
  13.     dv.style.background = "#000";
  14.     dv.style.background = "rgba(0,0,0,0.2)";

  15.     //设为绝对定位很重要
  16.     dv.style.position = "fixed";
  17.     //将该元素添加至body中
  18.     document.body.appendChild(dv);

  19.     //创建提示对话框面板
  20.     var dvMsg = document.createElement("div");
  21.     var height=$(this).scrollTop();
  22.    
  23.     dvMsg.style.position = "absolute";
  24.     dvMsg.setAttribute('id','msg');
  25.     dvMsg.style.width = "380px";
  26.     dvMsg.style.top="30%";
  27.     dvMsg.style.left="40%";
  28.     dvMsg.style.background = "e4393c";
  29.     dvMsg.style.zIndex = "1112";
  30.    
  31.     strHtml =  "<table width='380' height='25' border='0' cellspacing='0' cellpadding='0' align='center'>"
  32.     strHtml += "    <tr height='25' style='line-height:25px;'>"
  33.     strHtml += "        <td width='350' title='移动' style='cursor:move;background:#e4393c;' onmousedown='oMove(parentNode.parentNode.parentNode.parentNode);'>"
  34.     strHtml += "            <font style='font-size:12px;font-weight:bold;color:#fff;margin-left:10px;'>消息提示框</font></td>"
  35.     strHtml += "        <td width='30' style='background:#e4393c;' align='center'>"
  36.     strHtml += "            <a style='margin-right:3px;font-size:14px;cursor:pointer;color:#fff;font-family:Verdana' onclick='imgClose();'>X</a></td></tr>"
  37.     strHtml +=  "</table>"
  38.     strHtml +=  "<table width='380' height='145' border='0' cellspacing='0' cellpadding='0' align='center' style='border:1px solid #eee'>"
  39.     strHtml += "    <tr height='113' style='background:#fff;'>"
  40.     strHtml += "        <td width='360' align='center' style='font-size:12px;'>" + msgstr + "</td></tr>"
  41.     strHtml += "    <tr height='50'><td colspan='2' style='background:#eee;padding-top:15px;' valign='top' align='center'>"
  42.     strHtml += "         <input class='alert-btn-confirm' type='button' value='确定' style='width:70px;margin-right:20px;' onclick='btnclick()' /><input class='alert-btn-cancel' type='button' value='取消' style='width:70px;' onclick='imgClose()' /></td></tr>"
  43.     strHtml += "</table>"
  44.     dvMsg.innerHTML = strHtml;
  45.     document.body.appendChild(dvMsg);

  46.     //点击关闭按钮
  47.     imgClose = function (){
  48.         alertValue = 2; // 2 代表点击了关闭按钮
  49.         document.body.removeChild(dv);
  50.         document.body.removeChild(dvMsg);
  51.         
  52.     }
  53.     //点击确定按钮
  54.     btnclick = function (){
  55.         alertValue = 1; // 1 代表点击了确定按钮
  56.         document.body.removeChild(dv);
  57.         document.body.removeChild(dvMsg);
  58.         console.log(alertValue);
  59.     }
  60.    
  61.    
  62.        
  63. }
复制代码


麻烦大神帮我看看,为什么我点确定后没有执行确定后的操作。
发表于 2015-1-7 10:40:45 | 显示全部楼层
  1. //点击关闭按钮
  2.                     imgClose = function (){
  3.                         alertValue = 2; // 2 代表点击了关闭按钮
  4.                         document.body.removeChild(dv);
  5.                         document.body.removeChild(dvMsg);
  6.                         console.log(alertValue);
  7.                         
  8.                     }
  9.                     //点击确定按钮
  10.                     btnclick = function (){
  11.                         alertValue = 1; // 1 代表点击了确定按钮
  12.                         document.body.removeChild(dv);
  13.                         document.body.removeChild(dvMsg);
  14.                         console.log(alertValue);
  15.                     }
  16.                     $(".alert-btn-confirm").bind("click",imgClose);
  17.                         $(".alert-btn-cancel").bind("click",btnclick);
复制代码



把onclick去掉 既然你用个到了JQ 那就用bind添加事件
回复 支持 反对

使用道具 举报

发表于 2015-1-7 11:27:50 | 显示全部楼层
25行 var height=$(this).scrollTop();  去掉应该就可以了

不知道为什么其他代码都用的原生,25行却冒出了个$符
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-30 12:10 , Processed in 0.124684 second(s), 7 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表