js点击事件

js点击事件,第1张

遍历一次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获取鼠标点击事件的相对位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9307067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存