当前位置:  编程技术>WEB前端
本页文章导读:
    ▪jquery移除button的inline onclick事件      inline onclick代码如下: <input type="button" id="btnOK" name="" value="确定" onclick="btnOKClick();" />btnOKClick的代码: function btnOKClick() { alert("btnOK Clic.........
    ▪【前沿视点】Web Lab——鼓舞人心的谷歌 Chrome 实验室      您可能感兴趣的相关文章开发者必备的8个最佳云端集成开发环境史上最有创意的 404 页面设计作品集锦让人爱不释手的13套精美Web图标素材45款唯美的苹果 iOS 应用程序图标设计分享25套非常漂.........
    ▪javascript足迹      一忙起来,什么技术文章都懒得写。但最大的谎言就是“i will remember it,i don't need to write it down”好吧,还是记录点儿什么吧,虽然凌乱些,也是闪亮的小知识点。1、IE8之前 闭包 慎重慎.........

[1]jquery移除button的inline onclick事件
    来源:    发布时间: 2013-11-06

inline onclick代码如下:

<input type="button" id="btnOK" name="" value="确定" onclick="btnOKClick();" />

btnOKClick的代码:

function btnOKClick() {
alert("btnOK Clicked");
}

现在要在点击按钮以后,移除onclick事件,并为按钮绑定一个新的click事件。在第二次点击时候,就开始执行第二个事件处理函数,第二个处理函数的代码:

reclick的代码:

function reclick() {
alert('reclick');
}

思路:在btnOKClick中移除onclick,然后添加新的绑定,代码如下:

$('#btnOK').attr('onclick', '').bind('click', function () { reclick(); });

加上这段代码后的btnOKClick方法如下:

function btnOKClick() {
alert("btnOK Clicked");
$('#btnOK').attr('onclick', '').bind('click', function () { reclick(); });
}

这种方法在Google Chrome下正常工作,但是在IE的兼容模式下会马上调用reclick方法,这不是我们想要的效果。

出现这种效果的原因貌似是因为onclick执行完了以后,IE回去查看是否有绑定在click上的handler,结构是有的,于是就马上执行了。

为了解决这个问题,我们可以换个思路,就是延迟绑定click事件。具体的代码如下:

function btnOKClick() {
alert("btnOK Clicked");
setTimeout(function () {
$('#btnOK').attr('onclick', '').bind('click', function () { reclick(); });
}, 1);
}

这里使用了setTimeout定时器,在定时器触发以后,才执行移除onclick属性,绑定click handler的代码。

经测试,在IE9的兼容模式和非兼容模式下都可以正常运行;Google Chrome也正常运行。

本文链接


    
[2]【前沿视点】Web Lab——鼓舞人心的谷歌 Chrome 实验室
    来源:    发布时间: 2013-11-06
您可能感兴趣的相关文章

  • 开发者必备的8个最佳云端集成开发环境
  • 史上最有创意的 404 页面设计作品集锦
  • 让人爱不释手的13套精美Web图标素材
  • 45款唯美的苹果 iOS 应用程序图标设计
  • 分享25套非常漂亮的免费网页图标素材

 

  Web Lab 由五个 Chrome 实验装置组成,展现互联网给生活带来的非凡变化,让世人体验 Web 的神奇!这些装置在伦敦科学博物馆进行了长达一年的展出,任何地方、任何人都可以通过 chromeweblab.com 和这些装置互动。到底是什么东西呢?赶紧来瞧瞧。

 

 

围观地址:http://www.chromeweblab.com

 

实验一:Universal Orchestra

实验二:Teleporter

实验三:Sketchbots

实验四:Data Tracer

实验五:Lab Tag Explorer

 

您可能感兴趣的相关文章

  • 2012年最佳 Web 前端开发工具和框架
  • 分享21款丰富多彩的 HTML5 网页游戏
  • 推荐10款优秀的 HTML5 在线设计工具
  • 45个激发灵感的 HTML5 网站设计作品
  • 29款基于 HTML 5 Canvas 的网页游戏

 

本文来源:Web Lab——鼓舞人心的谷歌 Chrome Web 实验室

文章来源:梦想天空 ◆ 关注Web前端开发技术 ◆ 分享网页设计资源

本文链接


    
[3]javascript足迹
    来源:    发布时间: 2013-11-06

一忙起来,什么技术文章都懒得写。但最大的谎言就是“i will remember it,i don't need to write it down”

好吧,还是记录点儿什么吧,虽然凌乱些,也是闪亮的小知识点。

1、IE8之前 闭包 慎重慎重再慎重!很多文章都讲闭包的原理,却从来没有深究 没有被内部函数使用的外部作用域变量是否被垃圾回收了呢。如下代码

!function (){
var big1=123,
big2="";

~function(){
alert(big1);
}();
}();

  big1由于闭包,不会被垃圾回收器回收这是毋庸置疑的。big2呢?了解闭包的原理都知道 所谓闭包 其实是因为内部函数的scope链引用了外部函数作用域上的活动对象使得内部函数可以直接引用外部函数的局部变量,而正是这些局部变量被引用因此他们不会被垃圾回收。从这种定义来看big2是不会被释放的(不光是big2,外部函数所有局部变量都不会回收)。是的,而且IE8- 和opera都很实在的按照这样做的。但这样合理吗 显然是不合理的。因此谷歌和火狐的垃圾回收机制都做了优化。经过实践证明 没被引用的闭包变量仍然会被释放。IE9也开始可以了。

不过不管怎样,使用闭包时一定要慎重。一些开销比较大的变量要及时set null提醒垃圾回收器回收。

 

本文链接


    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3