求靳东唱的温暖百度云的 温暖 百度云

js怎么才能实现点击li标签 只触发li的onclick事件啊??【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:622,439贴子:
js怎么才能实现点击li标签 只触发li的onclick事件啊??收藏
&html& &head&&script & function gettext(name){
alert(name); }&/script& &/head& &body&
&div onclick="gettext('div');"&div
&li onclick="gettext('li')"&li&/li&
&/div& &/body&&/html&怎么才能实现点击li标签 只触发li的onclick事件啊??坐等高手。。。。。。
来个人看看啊?
要悲剧了么???
哎!要沉了,还木有人来。。。。。。
&html&&head&&script &function gettext(name,x){return x||alert(name);}&/script&&/head&&body&&div onclick="gettext('div',1);"&div&li onclick="gettext('li')"&li&/li&&/div&&/body&&/html&
什么冒泡的东西我也不懂,但我这个办法是绝对可行的。
高手啊。。。。膜拜下。。。。。谢谢哈。。。
你那个可以实现啊
不过看不懂你在问什么
如果你想要只触发 li的事件
你可以不给
上不实现那个onclick事件啊
在&li&里面加一个&span&标签 写&span&的onclick函数而不是&li&的就OK
禁止冒泡:event.cancelBubble=
这个可以实现,但是不明白用在哪里。这是个习题吗?已经两个人问这个问题了
改名字或者说改参数,或者别写onclick,直接在JS中取到li然后.click=function(){}
方法老多了!!
阻止冒泡var liID=document.getElementById('id');liID.onclick=function(e){
e=e||window.
if(e.stopPropagation){
e.stopPropagation();
e.cancelBubble=
登录百度帐号推荐应用> 博客详情
摘要: A标签触发onclick事件而不跳转的多种解决方法
A标签触发onclick事件而不跳转的多种解决方法
一个标签仅仅是要触发onclick行为,遇到了A标签触发onclick事件时不执行跳转:
在web页面开发时,我们经常会遇到下列情况: 1.一个标签仅仅是要触发onclick行为; 2.表现上要有鼠标的pointer指针显示,或者其他类似a标签的视觉效果。 比如执行删除操作时,为了避免误操作,我们要弹出对话框让用户确定是否删除。因此我们经常会用链接&a&&/a&形式代替&button& 触发onclick事件。
&script type="text/javascript"& function del(){ if(confirm("确定删除该记录?")){ parent.window.location="执行删除.jsp";
} &/script& &a href="" target="mainFrame" class="STYLE4" onclick="del()" &删除&/a&
这样做的后果是js代码会跳转到"执行删除.jsp"页面,而&a&标签也会跳转打开一个空页面。因为html本身对 &a&标签的href属性做了处理,所以就会先执行我们自己定义的方法,接着再运行它自身的方法(跳转的方法)。 解决方法主要有四种,如下: 1. 不用a标签,设定css或用js来表现(有点复杂); 2. 用a标签,onclick属性或onclick事件中返回false;(个人喜欢) 如:&a href="" target="mainFrame" class="STYLE4" onclick="del();return false" &删除&/a& 这是个执行顺序的问题,&a&这个标签的执行顺序应该是先执行onclick 的脚本,最后才进行href参数指定页面的跳转。在onclick中返回false,就可以中止&a&标签的工作流程,也就是不让页面跳转到href参数指定的页面。 3. 用href="javascript:void(0)"这种伪协议;(这种伪协议,少写的好) 即:&a href="javascript:void(0)" target="mainFrame" class="STYLE4" onclick="del()" &删除&/a& 4. &a href="#" class="STYLE4" onclick="del()" &删除&/a&。(总是跳转到当前页面顶部,当页面内容较多时,还是会有跳转的感觉)
人打赏支持
码字总数 14661
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥JS循环给li添加单击事件时总是弹出最后一个i值
JS循环给li添加单击事件时总是弹出最后一个i值
&li&0&/li&
&li&1&/li&
&li&2&/li&
&li&3&/li&
题目:单击列表项弹出对应的数字。
错误方法:
&script type=&text/javascript&&
var list=document.getElementsByTagName(&li&);
for (var i = 0; i & list. i++) {
list[i].onclick=function(){
运行结果:不管点哪一个列表项都会弹出4。
原因分析(自己的一点理解,不知道对不对):js是单线程的,先执行完主线程上的任务,再执行&任务队列&(事件队列)中的任务,当单击列表项时主线程中的i的值已经变成4了,所以每次单击时会弹出4。
可以看看阮一峰老师对JS运行机制的讲解
对于上面出现的问题可以用闭包来解决。将i作为函数参数(值传递)传递给内部函数。
&script type=&text/javascript&&
var list=document.getElementsByTagName(&li&);
for (var i = 0; i & list. i++) {
(function(j){
list[j].onclick=function(){
&script type=&text/javascript&&
var list=document.getElementsByTagName(&li&);
for (var i = 0; i & list. i++) {
list[i].onclick=(function(j){
return function(){
还有一种方法是ES6里的,用let定义变量,会产生块级作用域。
&script type=&text/javascript&&
var list=document.getElementsByTagName(&li&);
for (let i = 0; i & list. i++) {
list[i].onclick=function(){

我要回帖

更多关于 靳东温暖歌曲百度云 的文章

 

随机推荐