$(document).ready(function() {})不执行初始化脚本
- 格式:pdf
- 大小:30.26 KB
- 文档页数:1
$(document).ready(function() {})
不执行初始化脚本
今天发现一个页面始终不执行$(document).ready(function() {})初始化脚本,下面是解决方法
今天发现一个页面始终不执行初始化脚本,代码如下:
后来发现问题仅仅是因为引用JQuery的时候闭合写法问题,只需要修改闭合方法,如下所示:
改为
不明原因中
……
$(document).ready(function() {})
不执行初始化脚本
今天发现一个页面始终不执行$(document).ready(function() {})初始化脚本,下面是解决方法
今天发现一个页面始终不执行初始化脚本,代码如下:
后来发现问题仅仅是因为引用JQuery的时候闭合写法问题,只需要修改闭合方法,如下所示:
改为
不明原因中
……
jQuery帮助⽂档jQuery 库 - 特性基础 jQuery 实例jQuery 是⼀个 JavaScript 函数库。
下⾯的例⼦演⽰了 jQuery 的 hidejQuery 库包含以下特性:实例HTML 元素选取 <html>HTML 元素操作 <head>CSS 操作 <script type="text/javaHTML 事件函数 <script type="text/javascrJavaScript 特效和动画 $(document).ready(functionHTML DOM 遍历和修改 $("button").click(functionAJAX $("p").hide();Utilities });});</script></head><body><h2>This is a heading</h2><p>This is a paragraph.</p<p>This is another paragra<button type="button">Clic</body></html>jQuery 语法jQuery 语法是为 HTML 元素的选取编制,可以对元素执⾏某些操作。
基础语法是:$(selector).action()美元符号定义 jQuery选择符(selector)“查询”和“查找” HTML 元素jQuery action() 执⾏对元素的操作实例$(this).hide() - 隐藏当前元素$("p").hide() - 隐藏所有段落$("p.test").hide() - 隐藏所有 class="test" 的段落$("#test").hide() - 隐藏所有 id="test" 的元素提⽰:jQuery 使⽤的语法是 XPath 与 CSS 选择器语法的组合。
FailedtoexecutewriteonDocument动态载⼊的js不能执⾏write 统计代码⼀般都是直接⼀个标签,插⼊js,标签放在哪⾥,统计图表就放在哪⾥!我现在是稍微改了⼀下,我⾃⼰加了⼀点js,在页⾯所有元素都加载完成之后我再动态的把统计js插⼊到我需要的地⽅。
统计代码的script是插⼊成功了,也加载成功了现在问题来了………看chrome的提⽰:Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.这怎么回事,何解?解决⽅法:document已经加载解析完毕,⽂档流已经关闭了所以你异步加载的js不可以再往document⾥写东西了,⽐如使⽤document.write不过你可以⽤dom⽅法添加.appendChild().insertBefore().innerHTML1、你可以把script加载放在body标签结束之前例如:百度统计的统计代码<script>var _hmt = _hmt || [];(function() {var hm = document.createElement("script");hm.src = "https:///hm.js?12356";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();</script>2、如果你使⽤jquery,也可以这样:$.getScript('[js containing the initialize function]',function(){$.getScript('https:///maps/api/js?v=3.exp&callback=initialize');});。
⼯欲善其事必先利其器---SQL在线可视化模型设计,(还可学习拖拽知识)作为技术⼈员,在开发项⽬中,不可避免的要跟数据库打交道,⼀个完整的项⽬正常情况下是讨论完整体需求,有了⼤致的框框在脑海中后,是需要设计合理的数据库的,这时会有其他的专业的UML建模⼯具可以使⽤,但是这种⼤型的专业化的UML建模⼯具,仅仅拿来建⽴数据库模型显得⼤材⼩⽤了,并且也太重量级,所以⼀般都不会轻易使⽤。
多数⼈会选择直接在数据库软件中直接⿏标操作建表、填充列,这样更是不⽅便,故⽽很多⼈提到了VS中的codefirst⽅式,直接在代码中建⽴数据库模型,这种⽅式⽣成数据库之后,如果回头维护、查看都不太友好,甚⾄过了⼏个⽉之后你⾃⼰回头看都有可能不知道是什么意思。
这样我们就需要数据库说明。
常见的数据库说明都是word⽂档,类似如下:这是很多公司或团队采⽤的,但是我觉得这样还是不爽,假定你是⼀个接⼿⼈,你拿着这样的表格,左边点开数据库,右边打开这个⽂档,瞄⼀眼数据库再瞄⼀眼这个表格,左右切换窗⼝,超级不爽啊。
另外⼀种更加直观的,正向思维的⽅式:这样看起来是不是直观多了,清楚明⽩的知道这个表的构成,直接在数据库中打开,不⽤切换窗⼝,它是建表脚本,也是⼀份详细直观的数据库说明⽂档,后续对数据库进⾏修改、增加、删除结构都很直接、直观。
于是,我个⼈就弄了个⾃⼰⽤的⽅便的可视化的数据库设计的东西,当然最终是⽣成上述直观可读性⾼的脚本⽂件,今天把它写出来分享下。
我的环境是mvc3,其实这个东西根本⽤不着MVC,很简单,就⼀个页⾯⼤量的JS操作,提交到后台代码⽣成⽂件下载回本地。
先看打开时:默认加载⼀个空表,填写相应的名称之类的,字段、类型、默认值、备注信息等,+号增加⼀⾏,如果⼀⾏没有完成会提⽰:点击新建表会增加⼀个表,整个筐筐内每个表模型可以任意拖动位置且⾼度会⾃适应。
拖拽都是靠JS。
整个界⾯代码如下:1 @{2 ViewBag.Title = "主页";3 }4<div class="box">56789<div class="editmenu">1011<input type="text" id="txtBaseName" value="@ViewBag.baseName"/>1213<input type="text" id="txtBaseDes" value="@ViewBag.baseDes"/>14<input id="addTable" type="button" value="新建表"/>15<input id="getData" type="button" title="下载完整的TXT格式的数据库脚本" style="float:right;" value="下载数据"/>1617</div>18<div id="main" class="main">19<div class="tbbox">2021<div class="titletr" title="">22<span class="spleft">23<input value="XXX表" class="tbname" type="text"/>24</span>25<span class="title"></span>26<span class="spright"></span>27</div>2829<div class="titletr" title="">30<span class="spleft">31名:<input value="tb_1" class="tbname" type="text"/>32</span>33<span class="title"></span>34<span class="spright">删除</span>35</div>36<table class="tablelist">37<tbody>38<tr>39<td>40字段名41</td>42<td>43类型44</td>45<td>46默认值47</td>48<td>49备注50</td>51<td style="border: 0">52</td>53</tr>54<tr>55<td>56<input type="text"/>57</td>58<td>59<div class="sortdiv">60<span class="selspan">61<select class="selsort">62<option value="int">int</option>63<option value="varchar(50)">varchar(50)</option>64<option value="nvarchar(200)">nvarchar(200)</option>65<option value="datetime">datetime</option>66<option value="float">float</option>67<option value="text">text</option>68<option value="ntext">ntext</option>69</select>70</span>71<input value="int" class="sortinput"/>72</div>73</td>74<td>75<input class="txtdef" type="text"/>76</td>77<td>78<input type="text"/>79</td>80<td id="tool" class="jiatr" style="border: 0">81 +82</td>83</tr>84</tbody>85</table>86</div>87</div>88</div>8990<input id="hdbase" type="hidden" value="@ViewBag.baseId"/>9192<input id="hdtr" type="hidden" value="@ViewBag.Tr"/>93<input id="hddiv" type="hidden" value="@ViewBag.div"/>94<input id="hdall" type="hidden" value="@ViewBag.AllData"/>9596<script type="text/javascript">97 $(document).ready(function () {98 window.onload = function () {99if ($("#hdall").val() != "") {100 $("#main").html($("#hdall").val());101 }102///初始化给div加移动事件103 $("#main").find("span.title").each(function () {104this.onmousedown = MoveBegin;105 });106///给+TD事件107 $("#main").find("td.jiatr").each(function () {108 $(this).click(TdClick);109 $(this).attr("title", "新增⼀⾏");110 });111///添加DIV按钮112 $("#addTable").click(AddTbale);113 $("#getData").click(GetData);114 $("#saveData").click(SaveData);115///给select绑定事件116 $("#main").find("div.tbbox").each(function () {117 SortList(this);118 $(this).find("span.spright").click(DelDiv);119 });120121 CheckMainHeight();122123 }124///返回txt⽂件125function SaveTxt(arr) {126var loogParam = arr;127var nwin = window.open('/home/DataText?t=' + Math.random(), 'newwindow', 'height=5, width=5, top=400,left=500, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'); 128 document.body.insertAdjacentHTML("beforeEnd", "<form name='form1' action='/home/DataText' target='newpage' method='post'><input type='hidden' name='param'></form>");129 document.form1.param.value = loogParam;130 document.form1.submit();131 $("form").remove();132 nwin.close();133 }134135///txt⽂件空格占位136function NullSpace(defnum, str) {137var s = "\040";138var r = "";139var l = str.length;140var num = defnum - l;141for (var i = 0; i < num; i++) {142 r += s;143 }144return r;145 }146///"-"占位符147function NullH(defnum, str) {148var s = "-";149var r = "";150var l = str.length;151var num = defnum - l;152for (var i = 0; i < num; i++) {153 r += s;154 }155return r;156 }157158159///下载脚本为txt⽂件160function GetData() {161var tbName = "";162var tr = 0;163var sav = true;164var br = "\r\n";165var strSql = "use " + $("#txtBaseName").val() + br;166 $("#main").find("div.tbbox").each(function () {167 tbName = $($(this).find(".tbname")[1]).val();168var desName = $($(this).find(".tbname")[0]).val();169var sqlExists = "if exists ( select * from sysobjects where name = '" + tbName + "' and xtype='U') " + br + ""170 + "drop table " + tbName + "";171 strSql += sqlExists + br;172 strSql += "create table " + tbName + NullH(67, tbName) + desName + br + "(" + br;173 $(this).find("tr").each(function (index, element) {174if (index > 0) {175var tdlist = $(this).find("td");176var key = $(tdlist[0]).find("input").val();177if ($.trim(key) != "") {178if (key.length >= 17) {179 alert(key + "超出了15个字符的限制");180//alert(strSql);181 sav = false;182return;183 }184 key += NullSpace(17, key);185var col = $(tdlist[1]).find("input").val();186 col += NullSpace(17, col);187if (index == 1)188 col = "int" + NullSpace(17, "int");189var def = $(tdlist[2]).find("input").val() == "" ? "default ''" : "default " + $(tdlist[2]).find("input").val();190 def += NullSpace(32, def);191if (index == 1)192 def = "primary key identity(1,1)" + NullSpace(32, "primary key identity(1,1)");193var des = "--" + $(tdlist[3]).find("input").val();194if (index == 1)195 des = "--主键-" + $(tdlist[3]).find("input").val();196 strSql += "\040\040" + key + col + def + "NOT NULL , " + des + br;197198 tr++;199 }200 }201 });202 strSql += ");" + br + br + br;203 });204if (sav && tr > 0) {205 $("#saveData").click();206 SaveTxt(strSql);207 }208 }209210211///给数据类型列加事件212function SortList(obj) {213 $(obj).find("div.sortdiv").each(function () {214215216 $(this).find("select:first").change(ChangeVal).change(DefaultTxt);217 $(this).find("input:first").focus(ShowSel);218219 $(this.parentNode).mouseenter(ShowSel).mouseleave(HideSel);220221 $(this.parentNode.parentNode).find(".txtdef").blur(DefaultTxt);222223 });224225 }226227///删除div228function DelDiv() {229 $(this.parentNode.parentNode).remove();230 }231232233234///改变数据类型235function ChangeVal(obj) {236 $(this.parentNode.parentNode).find(".sortinput").val($(this.parentNode).find(".selsort").val());237238239 }240///默认值241function DefaultTxt(obj) {242var txt = $(this.parentNode.parentNode).find(".txtdef:first")[0];243if (obj.type == "change") {244 txt = $(this.parentNode.parentNode.parentNode.parentNode).find(".txtdef:first")[0];245 }246var val = $(txt).val().replace("'", "").replace("'", "");247 $(txt).val(val);248if ($.trim($(txt).val()) != "" && $.trim($(txt).val().toLowerCase()) != "getdate()" && $.trim($(txt.parentNode.parentNode).find(".sortinput").val()) != "int" && $.trim($(txt.parentNode.parentNode).find(".sortinput").val()) != 249250 $(txt).val("'" + val + "'");251 }252 }253///数据类型下拉显⽰254function ShowSel(obj) {255 $(this.parentNode).find(".selspan").show();256 $(this.parentNode).find(".sortinput").width("90px");257 $(this.parentNode).find(".sortinput").css("position", "absolute");258 }259///数据类型下拉隐藏260function HideSel(obj) {261var td = this;262var o = obj.relatedTarget || obj.toElement;263if (!o) {264return;265 }266 $(td).find(".selspan").hide();267 $(td).find(".sortinput").width("118px");268 $(td).find(".sortinput").css("position", "");269 }270271272273///添加DIV274function AddTbale() {275var child = document.createElement("div");276 child.className = "tbbox";277var name = Math.random().toString().substr(2, 3);278var div = $("#hddiv").val().replace("tb_Name", "tb_" + name);279 $(child).html(div);280 $(child).find("span.title").each(function () {281this.onmousedown = MoveBegin;282 });283284285286287 $(child).find("span.spright").click(DelDiv);288 $(child).find("td.jiatr").each(function () {289 $(this).click(TdClick);290 $(this).attr("title", "新增⼀⾏");291 });292 SortList(child);293 $("#main").append(child);294 CheckMainHeight();295 }296297///TD增加⼀⾏点击298function TdClick(obj) {299var tooltipem = $(this.parentNode).find("td:first").find("input:first");300if ($.trim(tooltipem.val()) == "") {301 $(tooltipem).tooltip({302 "title": "这⾥还没填写呢~!",303 "trigger": "manual",304 "placement": "right",305 "delay": 800306 });307 $(tooltipem).tooltip("show");308309 $(tooltipem).focus();310 setTimeout(function () { $(tooltipem).tooltip("hide"); }, 1800)311312return false;313 }314 $(tooltipem).tooltip("destroy");315var tr = $("#hdtr").val();316var child = document.createElement("tr");317 $(child).html(tr);318 $(this.parentNode.parentNode).append(child);319 SortList(child);320 $(child).find("td.jiatr").click(TdClick);321322323 $(this).removeClass();324 $(this).unbind();325 $(this).html("");326 $(this).attr("title", "");327328 CheckMainHeight();329 $($($(this.parentNode.parentNode).find("tr:first").next("tr"))).find("td:last").addClass("prmkey").attr("title", "第⼀⾏默认为主键&⾃增长"); 330 }331///校验div#main⾼度332function CheckMainHeight() {333 $("#main").find("div").each(function () {334if (this.offsetTop + $(this).height() > $("#main").height())335 $("#main").height(this.offsetTop + $(this).height() + 10);336 });337 }338339///移动340function MoveBegin(obj) {341var e = obj || window.event,342 x1 = e.clientX;343 y1 = e.clientY;344var setOn = this.parentNode.parentNode;345var defLeft = setOn.offsetLeft;346var defTop = setOn.offsetTop;347348 document.onmousemove = function (event) {349var e = event || window.event;350//351 x2 = e.clientX;352 y2 = e.clientY;353//354 x = x2 - x1;355 y = y2 - y1;356var setLeft = defLeft + x;357var setTop = defTop + y;358 setOn.style.position = "absolute";359//setOn.style.filter = 'alpha(opacity=80)';360//setOn.style.opacity = "0.8";361if (setLeft <= 0) {362 setLeft = 0;363 }364if (setTop <= 0) {365 setTop = 0;366 }367if (setLeft >= $("#main").width() - $(setOn).width() - 9) {368 setLeft = $("#main").width() - $(setOn).width() - 14;369 }370if (setTop > $("#main").height() - $(setOn).height() + 10) {371372 $("#main").height(setTop + $(setOn).height() + 100);373374 setTop = $("#main").height() - $(setOn).height();375 }376 setOn.style.left = setLeft + 'px';377 setOn.style.top = setTop + 'px';378//$("#showText").text("Top:" + setOn.style.top + "; Left:" + setOn.style.left + "; OFl:" + "");379 }380 document.onmouseup = function () {381this.onmousemove = null;382 }383 }384385 });386</script>⾥⾯有JS拖拽代码,都很简单,上⾯这些是我2年前做的东西,很多命名之类的都不规范,⼤家关注⽅法就好。