导航:首页 > 编程语言 > 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手机的点击事件失效相关的资料

热点内容
windows8网络连接 浏览:442
怎么快速增加qq群人数 浏览:919
锤子视频播放器文件不存在 浏览:707
苹果手机怎么清理app缓存 浏览:682
花园战争2豪华升级包 浏览:517
电脑无法向u盘传输文件 浏览:823
bpn配置文件 浏览:932
501完美越狱工具 浏览:119
中间夹菜单里面不能显示压缩文件 浏览:952
如何指导小学生参加编程比赛 浏览:275
物业的招标文件有哪些 浏览:452
保存游戏文件名非法或只读 浏览:258
js怎么做图片时钟 浏览:451
华为应用里面有了app说明什么 浏览:801
数据库中xy是什么意思 浏览:893
u盘打不开提示找不到应用程序 浏览:609
网站功能介绍怎么写 浏览:954
word在试图打开文件时错误 浏览:108
主板无vga插槽怎么连接编程器 浏览:521
录视频文件在哪里删除 浏览:881

友情链接