遍历一次body下的所有元素。给各元素添加click处理函数或者mousedown处理函数。
var tgs=documentgetElementsByTagName("");
for(var i =0;i<tgslength;i++){
var t=tgs[i];
tonMouseDown=function(e){
var that=this;
if(thistagName && (thistagName==='table'||-----)){//这里判断有点粗糙,你还需要判断是否是tr或td
//该table的id或者比较别的也行,只要能判断是你需要的那个table
//改变table的样式
}else{//不是你指定的table
//恢复table的样式
}
}
}
在网页中,节点id是不可重复的,如果出现了重复的,那么只读取第一个节点了,该问题的解决方案可以再每个input的id中添加开头或者结尾标记,如:inp_name_1、inp_name_2,也可以用name属性查找input节点,
var inputs=$("input name=['inp_name']");然后可以对其进行循环遍历了
如果要兼容浏览器,最好使用一个库来实现,用鼠标的页面位置减去的页面位置就行了。
比如jquery:
$(document)click(function(e){
alert("X: " + (epageX - $('img')offset()left) + ", Y: " + (epageY - $('top')offset()top));
});
先说思路:
当点击某一行的时候,能得到这个tr的对象,可以通过这个对象得到该行的所有td对象,这时候可以通过一个序号来获取这一行的某个td的数据。
下面以代码来解释
<table id="tb"><tr>
<td>a</td><td>b</td><td>c</td>
</tr>
<tr>
<td>aa</td><td>bb</td><td>cc</td>
</tr>
</table>
<script>
//以jquery为例实现点击某行获得某个td的数据
$( "#tb tr" )click( function() {//给每行绑定了一个点击事件
var td = $( this )find( "td" );//this指向了当前点击的行,通过find我们获得了该行所有的td对象
//题中说到某个td,为了演示所以我们假设是要获得第3个td的数据
var data = tdeq( 2 )html();//通过eq可以得到具体的某个td对象,从而得到相应的数据
} );
</script>
综上,我们就实现了通过点击某行获得某个td的数据。
因为js的事件模型需要function类型的对象执行回调 所以需要传入function类型的变量。
实际执行的代码就是下边这个,给DOM对象添加click的监听器。
documentgetElementById("btn")addEventListener("click", function(){alert('hello')
});
如果写成
addEventListener("click",alert('hello'));恐怕你自己都觉得别扭吧。
以上就是关于js点击事件全部的内容,包括:js点击事件、js获取输入框的值只能获取第一个值,如何获取点击事件那个值、js获取鼠标点击事件的相对位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)