继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

js问题杂记

别打扰我我要学习
关注TA
已关注
手记 276
粉丝 20
获赞 131

   问题一:

   由于jquery可以动态异步添加页面元素,很多时候我们都不知道一个页面元素什么时候加载完成。常规的jquery的ready和js的document.onload执行是也许我们需要操作的元素还没生成完成。所以我们只能用定时器不断的循环,判断如果元素生成了。则执行我们想要的操作。

复制代码

 1 //页面加载完成是执行 2         $(function () { 3             customTimer(); 4         }); 5         //自定义 定时器(假设div_digg是动态生成) 6         function customTimer() { 7             if ($("#div_digg").length) { 8                 //$("#div_digg").    这里就可以执行想要的操作 9             }10             else {11                 var intervalId = setInterval(function () {12                     if ($("#div_digg").length) {    //循环判断是否存在13                         clearInterval(intervalId);  // 则关闭定时器14                         customTimer();              //执行自身15                     }16                 }, 100);17             }18         }

复制代码

 

问题二:IE中console未被定义 错误。

复制代码

1 window.console = window.console || (function () {2     var c = {};3     c.log = c.warn = c.debug = c.info4           = c.error = c.time = c.dir = c.profile5           = c.clear = c.exception = c.trace = c.assert =6              function () { };7     return c;8 })();

复制代码

 

问题三:使用JS或jQuery模拟鼠标点击a标签事件

方法1:

<a id="alink" href="abc.aspx"  style="visibility: hidden;">下一步</a>$("#alink").click();  // 触发了a标签的点击事件,但是没有触发页面跳转document.getElementById("alink").click(); //既触发了a标签的点击事件,又触发了页面跳转

 方法2:

把 “下一步” 改为 “<span id="spanId">下一步</span>” 即给A标签中的文字添加一个能被jQuery捕获的元素,然后$("#spanId").click();,才可以触发页面跳转。

<a id="alink" href="abc.aspx"  style="visibility: hidden;"><span id="spanId">下一步</span></a>$("#spanId").click();

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP