导航:首页 > 编程语言 > js手机的点击事件失效

js手机的点击事件失效

发布时间:2023-11-12 17:34:32

js动态绑定onclick事件,事件点击多时无响应

onclick事件绑定只对dom中存在的元素有效,对于后来新增加的元素是监测不到,所以绑定事件失败.

㈡ js为什么点击事件无效

事件里你先console.log('this.style.backgroundColor')打印下是什么,在确定判断条件对不对

㈢ js点击事件不完全生效

不生效可能是你没有阻止事件冒泡。
当点击取消按钮的时候,会触发点击id为name的元素,所以重新加上了带有show的类名。
应该在取消的按钮点击事件参数加上e,函数内加上“e.stopPropagation()”阻止事件冒泡。

javascript 为什么按钮的onclick事件不触发 按了没反应

主要是你写的位置是script里边还是行内还是body,herd和body加script标签,有时候浏览器也会出现错误,先版刷新一下如果还权不行就重新打开!如果单纯的练习的话可以一个个试试获取input标签name和ID正常来说你这只要有script标签语法是不会报错,另外不知道为什么你的单标记标签会多出来一个/出来,可以去掉试试!

㈤ 移动端JS父层Touch事件用了冒泡,子层onclick事件不生效

移动端JS父层Touch事件用了冒泡,子层onclick事件不生效,这时候子元素就要用委托来绑定事件啊,不能直接在子元素上onclick,如$("#mydiv").on("touchend", "img", func(this))。
可以参照这篇文章(我找的别人的)http://blog.csdn.net/cysear/article/details/72302977

㈥ 我自己写的JS函数:为什么无法响应点击事件呢

onload = *而不是()=*

在有些浏览器,脚本是和正文分开加载的,你这个document.getElementsByTagName("input");返回有可能没有值,

首先写一个简单的ready函数

//只接受函数作为参数,每调用一次,存一个函数,当页面载完,一次自动执行
//ready(yourfunction)
varready=(function(){
varisReady=false,
funList=[];
functionr(fn){
typeoffn!=="function"||(isReady?fn():funList.push(fn))
}
functionreadyCall(){
isReady=true;
while(funList.length){
funList.shift()()
}
}
if(document.addEventListener){
document.addEventListener("DOMContentLoaded",function(){
document.removeEventListener("DOMContentLoaded",arguments.callee,false);
readyCall()
},false)
}elseif(document.attachEvent){
document.attachEvent("onreadystatechange",function(){
if(document.readyState==="complete"){
document.detachEvent("onreadystatechange",arguments.callee);
readyCall()
}
})
}
returnr
}
())

再写一个绑定事件的函数

/**
*bind(target,eventname,eventfunction)
*bind(控件,事件名称(如"click"不带on),事件函数)
*注意,事件函数,就算在ie,也会强推一个event作为第一个参数
*为了兼容旧版本浏览器,preventDefaultpreventDefault简单的写了些,不够完
*还望海涵
*/
varbind=function(el,name,fn){
if(el.addEventListener){
el.addEventListener(name,fn);
}else{
name="on"+name;
if(el.attachEvent){
el.attachEvent(name,function(){
varargs=Array.prototype.slice.call(arguments),ret=true;
if(window.event){
args.unshift(window.event);
if(!event.preventDefault)
event.preventDefault=function(){
ret=false;
};
if(!event.stopPropagation)
event.stopPropagation=function(){
event.cancelBubble=true;
};
}
fn.apply(this,args);
returnret;
});
}else{
varold=el[name],noFunc=typeofold!=="function",noList=noFunc||!old.list,call;
if(noList){
call=el[name]=function(event){
varlist=call.list,l=list.length,
args=Array.prototype.slice.call(arguments),ie=!!window.event,
ret=true,run=true;
if(!event.preventDefault)
event.preventDefault=function(){
ret=false;
};
if(!event.stopPropagation)
event.stopPropagation=function(){
run=false;
};
if(ie)args.unshift(event);
while(l--&&run)
list[i].apply(this,args);
returnret;
};
call.list=[];
if(!noFunc)call.list.push(old);
}
call.list.push(fn);
}
}
};

时间关系,没写解绑函数

再来一个寻找控件的函数

/**
*trans("#id")trans(".class")trans("$name")trans("tagName")
*/
functiontrans(el){
varc;
c=el.charAt(0);
c=c.match(/^[#.$]/)?c:"";
returntypeofel==="object"&&
Object.prototype.toString.call(el).match(/[objectHTML.*Element]/)?el
:typeofel==="string"&&
(el=(document[
["getElementById","getElementsByClassName","getElementsByName","getElementsByTagName"]
[{"#":0,".":1,"$":2,"":3}[c]]])(el.substring(c?1:0)),c?[el]:el.length)?el:null;
}

然后再轻松的绑定事件

ready(function(){
varfruit=trans("input");
//初始化
for(vari=0;i<fruit.length-4;i=i+2)
fruit[i+1].disabled="disabled";

//添加事件
for(vari=0;i<fruit.length-4;i=i+2)

bind(fruit[i],"click",(function(fruit,value){
returnfunction(event){
if(fruit.id===value)fruit.removeAttribute("disabled");
};
}(fruit[i],fruit[i].value)));//注意,这里直接把fruit[i].value,和fruit[i]传给事件闭包,就不容易和其他变量混淆了。
});
阅读全文

与js手机的点击事件失效相关的资料

热点内容
vss数据库 浏览:854
js日期加零 浏览:34
互盾数据恢复怎么收费 浏览:854
ps2020载入笔刷看不到文件 浏览:627
迅捷pdf转换器里有个文件卸载不了 浏览:478
数控编程x2000什么意思 浏览:731
关于计算机网络基础的 浏览:641
1kb文件夹快捷方式病毒专杀工具 浏览:755
指纹机管理者密码 浏览:624
ip网络摄像头监控软件安卓 浏览:899
如何添加一个aspx文件 浏览:767
redhat修改密码 浏览:705
编程猫从哪里开始学 浏览:980
北京市文件夹加密软件哪个好 浏览:270
大学注解哪个版本好 浏览:476
js判断浏览器支持事件 浏览:563
网络电缆掉了不知道在哪怎么办 浏览:691
碧蓝航线文件夹 浏览:397
java数组转换成枚举 浏览:419
怎么看自己爱奇艺账号密码 浏览:559

友情链接