導航:首頁 > 編程語言 > 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手機的點擊事件失效相關的資料

熱點內容
內存清理工具formac 瀏覽:323
iphone過濾騷擾電話 瀏覽:981
wap網路如何使用微信 瀏覽:699
手機迅雷應用盒子在哪個文件夾 瀏覽:351
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

友情鏈接