为什么div里的jq onclick事件()事件不起作用?不会jq

情况是这样的,现在有一个活动,需要放到电脑和手机网页上进行玩,网页当然没有问题,可是手机调用onclick完全不起作用(android 4.0版本以下的),android 4.0 以上的完全没有问题,请DX们看看是什么情况啊,
function login_stand(){
alert(1111);
&div class="top"&
&input type="button" value="--开始闯关--" onclick="login_stand();"/&
目前还没有答案
已解决问题
未解决问题91js动态添加的DIV中的onclick事件
上亿文档资料,等你来发现
91js动态添加的DIV中的onclick事件
js动态添加的DIV中的onclick事件_坐看;JS给元素动态添加事件JS给元素动态添加事件;最简单的是这样:;&inputtype=&butt;动态添加onclick事件:;&inputtype=&butt;&scripttype=&tex;varbObj=document.getElem;bObj.onc
js动态添加的DIV中的onclick事件_坐看云起时JS给元素动态添加事件JS给元素动态添加事件最简单的是这样:&input type=&button& onclick=&alert(this.value)& value=&我是 button& /&动态添加onclick事件:&input type=&button& value=&我是 button& id=&bu&&&script type=&text/javascript&&var bObj=document.getElementById(&bu&);bObj.onclick=function objclick(){alert(this.value)};&/script&如果使用匿名函数 function(){},则如下面所示:&input type=&button& value=&我是 button& id=&bu&&&script type=&text/javascript&&var bObj=document.getElementById(&bu&);bObj.onclick=function(){alert(this.value)};&/script&上面的方法其实原理都一样,都是定义 onclick 属性的值。值得注意的是,如果多次定义 obj.onclick,例如:obj.onclick=method1; obj.onclick=method2; obj.onclick=method3,那么只有最后一次的定义obj.onclick=method3才生效,前两次的定义都给最后一次的覆盖掉了。 再看 IE 中的 attachEvent:&input type=&button& value=&我是拉登& id=&bu&&&script type=&text/javascript&&var bObj = document.getElementById(&bu&);bObj.attachEvent(&onclick&,method1);bObj.attachEvent(&onclick&,method2);bObj.attachEvent(&onclick&,method3);function method1(){alert(&第一个alert&)}function method2(){alert(&第二个alert&)}function method3(){alert(&第三个alert&)}&/script&执行顺序是 method3 & method2 & method1 ,先进后出,与堆栈中的变量相似。需要注意的是attachEvent 中第一个参数是on开头的,可以是 onclick/onmouseover/onfocus 等等 据说(未经确认验证)在 IE 中使用 attachEvent 后最好再使用 detachEvent 来释放内存 再看看 Firefox 中的的 addEventListener:&input type=&button& value=&我是布什& id=&bu&&&script type=&text/javascript&&var bObj = document.getElementById(&bu&);bObj.addEventListener(&click&,method1,false);bObj.addEventListener(&click&,method2,false);bObj.addEventListener(&click&,method3,false);function method1(){alert(&第一个alert&)}function method2(){alert(&第二个alert&)}function method3(){alert(&第三个alert&)}&/script&可以看到,在 ff 中的执行顺序是 method1 & method2 & method3 , 刚好与 IE 相反,先进先出。需要注意的是 addEventListener 有三个参数,第一个是不带“on”的事件名称,如 click/mouseover/focus等。包含各类专业文献、生活休闲娱乐、中学教育、外语学习资料、高等教育、幼儿教育、小学教育、行业资料、文学作品欣赏、各类资格考试、91js动态添加的DIV中的onclick事件等内容。
 使用js动态的修改div和span标记中的文本内容_IT/计算机_专业资料。使用 js 动态...Node&value=&fillSpanWithTextNode&onclick=&fillSpanWithTe xtNode()&/& &...  因为,此时 show()并不是 onclick 的响应函数,它的响应函数是 div 标签中的...js事件大全 2页 1下载券 js事件详解 3页 4下载券 JS动态事件 2页 免费喜欢...  不希望执行上层的 div 的 onclick 的事件 处理函数...而在 js 中没有 c#的 event, 更没有 delegate,...动态修改一下 method 把它加 到最后一行就 ok 了...  button 按钮 onclick 阻止该按钮的层 div 的 onclick,具体解决方案如下: 解决方案 1: JS 里有 阻止事件冒泡传递的方法, cancelBubble 在 IE 下有效 stop...  JS动态添加删除HTML元素(实例)_IT/计算机_专业资料。基于JavaScript的动态添加删除...div& &input type=&button& value=&test1& onClick=&aa('test1')&&&...  js触发事件01 1.单击事件___onclick 02 用户单击...如果和鼠标覆盖事件同时使用,可以创建动态按钮 的效果...&& //验证码显示区 &div id=&imgCheckCode& ...  js事件总结_IT/计算机_专业资料。JS 事件用事件来提示...“mydiv”)); Document.attachEvent(“onclick”,...中,事件直接是事件名,不需加 on。 事件直接是事件...  (&showdivtext&).value document.getElementById(id). document.get...在需要添加 JS 的文本框中添加事件: onclick=&mClass(this.id)& 修改上报和...  ? ? ? 直接在 DOM 里绑定事件:&div onclick=”test()”&&/div& 在 JS 里通过 onclick 绑定:xxx.onclick = test 通过事件添加进行绑定:addEventListener(xxx...阻止jQuery事件冒泡 - Just Code - ITeye技术网站
博客分类:
Query对DOM的事件触发具有冒泡特性。有时利用这一特性可以减少重复代码,但有时候我们又不希望事件冒泡。这个时候就要阻止
jQuery.Event冒泡。
中的开头得知,jQuery.Event对象是符合W3C标准的一个事件对象,同时jQuery.Event免去了检查兼容IE的步骤。
jQuery.Event提供了一个非常简单的方法来阻止事件冒泡:event.stopPropagation();
$("p").click(function(event){
event.stopPropagation(); // do something
但是这个方法对使用
定的事件没有作用,需要一个更简单的方法阻止事件冒泡:
$("p").live("click", function(){
$(this).after("Another paragraph!");
另外 JavaScript 阻止冒泡
 阻止冒泡事件的方法有两种,第一种是IE的方法,第二种是DOM方法,至于为什么要分为两种方法去讨论之,这里就不做讨论了,总之是浏览器一些蹩
脚的问题,好了废话不说了,直接贴代码了:
//阻止冒泡事件
function stopBubble(e) {
if (e && e.stopPropagation) {//非IE
e.stopPropagation();
else {//IE
window.event.cancelBubble =
举个例子:就是谷歌首页的更多选项吧,不知道的可以去看看
这里要应用两个点击事件,一个是div.onclick,另一个就是document.onclick,那么问题就出现了,在调用
div.onclick的时候,由于冒泡事件的存在,会自动的调用document.onclick,由于冒泡的顺序是从里向外的
(div-&body-&document-&html)所以div.onclick事件就会被覆盖掉,也就不会执行了,解决的方案其
实也是很简单的哦,就是在执行div.onclick的时候阻止冒泡事件就好了,那怎么阻止呢,就调用上面的函数就ok了!哈哈!
ps:在介绍
一下阻止浏览器默认行为的方法,大同小异,这里就不再赘述了。
function stopDefault(e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault)
e.preventDefault();
//IE中阻止函数器默认动作的方式
window.event.returnValue =
浏览 23577
楼主 return false会带来checkbox失效,还是第一种比较好用。多谢提醒~
浏览: 4794536 次
来自: 洛杉矶
写得很好,很感谢。能告诉我你的抠抠吗我有些问题想请教你。
sefsdfsdfsd
renzhengzhi 写道很好的资料,谢谢分享,正在学习li ...
很好的资料,谢谢分享,正在学习linu命令。
softor 写道echo 中文时在 cmd 下乱码,求解。有 ...页面导航:
→ 正文内容 事件对象
js中获取事件对象的方法小结
事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局对象( window.event )存在的,Firefox中则是做为句柄( handler )的第一个参数传入内的。所以一行代码就可以搞定
代码如下: var evt = window.event || arguments[0];
下面分三种添加事件的方式讨论,你也许会看到以前没有看到过的获取方式。 1,第一种添加事件的方式,直接在html的属性中写JS代码
代码如下: &div onclick="alert(4);"&Div1 Element&/div&
大概这是上世纪90年代的写法,那时候直接把js代码写在网页中很普遍,也许那时候的js并不太重要,只是用来做做验证或一些花哨的效果而已。如何在这种添加事件方式下获取到事件对象?IE中很简单,因为event是作为全局对象的,所以直接使用event即可,如下
代码如下: &div onclick="alert(window.event.type);"&Div1 Element&/div&
点击该Div后,IE中会弹出'click'字符的信息框。说明事件对象获取到了,如果在 Opera/Safari/Chrome 中也测试了,会发现效果和IE一样,说明 Opera/Safari/Chrome 中也支持IE方式( window.event )获取事件对象。 Firefox中会报错,提示:window.event is undefined,说明Firefox不支持IE方式获取事件对象而是以句柄的第一个参数传入的,文章开头意见提到了。 上面的用 window.event 来获取事件对象,其实window可以省略的,就像使用alert而不是window.alert一样。如
代码如下: &div onclick="alert(event.type);"&Div1 Element&/div&
在 IE/Opera/Safari/Chrome 中测试,和刚刚不会有什么区别。在Firefox中再测,会有个惊喜,你会发现居然弹出的是"click"信息框,而不是"undefined"。 两次测试区别仅仅一个用window.event.type,一个用event.type。这个问题下面详细讨论。 下面用句柄第一个参数来获取事件对象,可以把onclick属性的值想象成一个匿名函数,onclick属性值的字符串实际上都是这个匿名函数内的js代码。 既然这样,我们就可以通过Function的一个属性argumengs获取到该匿名函数的第一个参数,而该参数就是事件对象。如
代码如下: &div onclick="alert(arguments[0].type);"&Div1 Element&/div&
IE中会报错,提示:arguments.0.type为空或不是对象 Firefox/Opera/Safari/Chrome 中会弹出"click"内容的信息框,说明他们都支持事件对象作为句柄第一个参数传入。从侧面也说明了 Opera/Safari/Chrome 不仅支持W3C标准方式获取事件对象,同时也兼容了IE方式获取事件对象。 既然知道onclick对应的是一个匿名函数,我们不妨把该匿名函数打印出来看看,只需以下代码
代码如下: &div onclick="alert(arguments.callee);"&Div1 Element&/div&
在各浏览器中点击该Div,结果如下:
function onclick(){ alert(arguments.callee);}
&function onclick(event){ alert(arguments.callee);}
Firefox / Safari :function onclick(event) { alert(arguments.callee);}
Chrome : function onclick(evt) { alert(arguments.callee);}
&function anonymous(event) {alert(arguments.callee);}
观察这些函数发现:IE6/7/8没有定义参数IE9/Firefox/Safari/Opera 定义了参数eventChrome定义了参数evt。现在回到上面遗留的问题,如下 代码如下:&div onclick="alert(window.event.type);"&Div1 Element&/div& &div onclick="alert(event.type);"&Div1 Element&/div& 这两个div的区别仅window.event.type和event.type。分别点击后,后者在Firefox中不弹出"undefined",而是"click",是因为Firefox中匿名函数定义了参数event,该参数刚好与IE的全局对象event同名,从而误以为Firefox也支持IE方式获取事件对象。 同样的道理,Chrome中定义的参数是evt,那么在Chrome中还可以通过以下方式获取事件对象,如下
代码如下: &div onclick="alert(evt);"&Div1 Element&/div& 2,第二种添加事件的方式,定义一个函数,赋值给html元素的onXXX属性
代码如下: &script type="text/javascript"& function clk(){} &/script& &div onclick="clk()"&Div2 Element&/div&
先定义函数clk,然后赋值给onclick属性,这种方式也应该属于上世纪90年代的流行写法。比第一种方式好的是它把业务逻辑代码都封装在一个函数里了,使HTML代码与JS代码稍微有点儿分离,不至于第一种那么紧密耦合。 如何在这种方式(clk函数内)中获取事件对象?IE中使用全局对象event仍然没问题,如:
代码如下: &script type="text/javascript"& function clk(){alert(window.event);} &/script& &div onclick="clk()"&Div2 Element&/div&
点击Div后,除Firefox外,IE/Opera/Safari/Chrome都能正常获取事件对象。上面已经提到了 Opera/Safari/Chrome 兼容IE方式(window.event)获取事件对象,而唯独Firefox不支持。从而Firefox中只能通过参数传入了。试着这么写
代码如下: &script type="text/javascript"& function clk(){alert(event);} &/script& &div onclick="clk()"&Div2 Element&/div&
因为在Firefox中匿名函数是具有event参数的,而clk()是在匿名函数之内的,打印出匿名函数便知
代码如下: &script type="text/javascript"& function clk(){alert(arguments.callee.caller);} &/script& &div onclick="clk()"&Div2 Element&/div&
点击该Div,Firefox弹出信息框内容如下
代码如下: function onclick(event) { clk(); }
回到clk中的alert(event),既然匿名函数的event传入了,那么在该闭包中clk是可以获取到event的,事实上点击后Firefox会报错:event is not defined。猜测该匿名函数的闭包和function clk(){alert(event);}不是同一个闭包环境。这种方式不行,则只能通过显示的参数传入了,如
代码如下: &script type="text/javascript"& function clk(e){alert(e);} &/script& &div onclick="clk(arguments[0])"&Div2 Element&/div&
点击Div,在Firefox中正确弹出了事件对象,支持参数传入的浏览器都可以,如Opera/Safari/Chrome。 把以上代码中的arguments[0]改成event,那么所有浏览器都支持。 把以上代码中的arguments[0]改成window.event,那么将只有Firefox不支持。 把以上代码中的arguments[0]改成evt,那么将只有Chrome支持。 思考下为什么? 3,第三种添加事件方式,使用element.onXXX方式
代码如下: &div id="d3"&Div3 Element&/div& &script type="text/javascript"& var d3 = document.getElementById('d3'); d3.onclick = function(){ } &/script&
这种方式也比较早期,但好处是可以将JS与HTML完全分离,但前提是需要给HTML元素提供一个额外的id属性(或其它能获取该元素对象的方式)。 这种方式添加事件IE6/7/8只支持window.event不支持参数传入,Firefox只支持参数传入不支持其它方式。IE9/Opera/Safari/Chrome 两种方式都支持。 4,第四种添加事件方式,使用addEventListener或IE专有的attachEvent
代码如下: &div id="d4"&Div4 Element&/div& &script type="text/javascript"& var d4 = document.getElementById('d4'); function clk(){alert(4)} if(d4.addEventListener){ d4.addEventListener('click',clk,false); } if(d4.attachEvent){ d4.attachEvent('onclick',clk); } &/script&
这是目前推荐的方式,较前两种方式功能更为强大,可以为元素添加多个句柄(或称响应函数),支持事件冒泡或捕获,前三种方式默认都是冒泡。当然IE6/7/8仍然没有遵循标准而使用了自己专有的attachEvent,且不支持事件捕获。IE9 中已经支持addEventListener了。 先用window.event测试,如
代码如下: &script type="text/javascript"& var d4 = document.getElementById('d4'); function clk(){alert(window.event)} if(d4.addEventListener){ d4.addEventListener('click',clk,false); } if(d4.attachEvent){ d4.attachEvent('onclick',clk); } &/script&
点击Div[id=d4],IE/Opera/Safari/Chrome都正确的弹出了事件对象信息框,Firefox弹出的是"undefined",预料之中,因为Firefox不支持window.event作为事件对象。 再换成句柄的第一个参数测试,如
代码如下: &script type="text/javascript"& var d4 = document.getElementById('d4'); function clk(e){alert(e)} if(d4.addEventListener){ d4.addEventListener('click',clk,false); } if(d4.attachEvent){ d4.attachEvent('onclick',clk); } &/script&
测试之前,猜测一下什么结果,可能有人会觉得IE中应该弹出undefined,其它浏览器都是事件对象。事实上所有浏览器弹出的信息框显示都是事件对象。 总结下: 1,IE6/7/8支持通过window.event获取对象,通过attachEvent方式添加事件时也支持事件对象作为句柄第一个参数传入 2,Firefox只支持事件对象作为句柄第一个参数传入 3,IE9/Opera/Safari/Chrome两种方式都支持 相关:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910jquery让onclick事件失效_百度知道
提问者采纳
jquery里有个一次性的事件处理方法:one(eventType,fn)。具体可以这样做:$(function(){$(&#s1&).one(&click&,showDIV(1));}); jquery还有一个解除事件委派的方法:unbind([eventType])。参数是可选的,如果不选,则表示移除节点所有已绑定事件。这里你只需要解除click事件,可以用$(&#s1&).unbind(&click&)来处理。
提问者评价
其他类似问题
为您推荐:
其他3条回答
$(&#s1&).text(&异常已解决&);$(&#s1&).attr(&onclick&,&&); 或者$(&#s1&).attr(&id&,&s2&);$(&#s2&).parent().append(function(0,'&td id=&s1& align=&center&&异常已解决&/td&'));$(&#s2&).remove();
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml&&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8& /&
&script type=&text/javascript& src=&js/jquery-1.7.1.min.js&&&/script&
&title&无标题文档&/title&
&tr&&td&dddd1&/td&&td&cka&/td&&/tr&
&tr&&td&dddd2&/td&&td&ckd&/td&&/tr&
&tr&&td&dddd3&/td&&td&ckd&/td&&/tr&
&tr&&td&dddd4&/td&&td&ckd&/td&&/tr&
&script type=&text/javascript&&
$(function(){
$('tr').each(function(){
$(this).find('td:last').addClass('aaaa');
直接把那个click键disable掉不就可以了
您可能关注的推广回答者:
jquery的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 jq blur事件不起作用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信