javascript中,我把几个按钮的onClick都设置成同一个函数,当点鼠标时,怎样能知道是哪个按钮被点了?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中,我把几个按钮的onClick都设置成同一个函数,当点鼠标时,怎样能知道是哪个按钮被点了?相关的知识,希望对你有一定的参考价值。

如题,正在学javascript,求助啊

<html>
<head>
<script type="text/javascript">
    function clickHandle(e)
        var obj = e.srcElement ? e.srcElement : e.target;
        alert(obj.value);
    
    function clickHandle1(_this)
        alert(_this.value);
    
    function clickHandle2()
        var e = document.all ? window.event : null;
        if(!e)
            var func = clickHandle2.caller;
            while(func!=null)  
                var arg0 = func.arguments[0]; 
                if(arg0) 
                 
                    if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || 
(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
                      
                        e = arg0;
                        break;
                    
                     
             
        
        var obj = e.srcElement ? e.srcElement : e.target;
        alert(obj.value);
    
</script>
</head>
<body>
    <input type="button" value="按钮1" onclick="clickHandle(event)" />
    <input type="button" value="按钮2" onclick="clickHandle(event)" />
    <input type="button" value="按钮3" onclick="clickHandle(event)" />
    <br />
    <input type="button" value="按钮1" onclick="clickHandle1(this)" />
    <input type="button" value="按钮2" onclick="clickHandle1(this)" />
    <input type="button" value="按钮3" onclick="clickHandle1(this)" />
    <br />
    <input type="button" value="按钮1" onclick="clickHandle2()" />
    <input type="button" value="按钮2" onclick="clickHandle2()" />
    <input type="button" value="按钮3" onclick="clickHandle2()" />
</body>
</html>

第一组按钮传递了event对象,根据event对象可以获取事件源对象。

因为IE里面的event只有srcElement对象,

而chrome和火狐里面的event只有target对象,所以为了兼容就写成

var obj = e.srcElement ? e.srcElement : e.target;

srcElement和target都是事件源对象。

第二组按钮直接把本身传递进去了,所以参数就是源对象。

第三组按钮什么都没传递,所以要手动获取到event对象之后再按第一组按钮的方法做。

因为IE里面直接可以用window.event获取event对象,而其他浏览器不行。

下面的一个while就是循环得到event对象的,可能跟你解释一下下说不清楚。

所以你就自己找资料吧。

参考技术A 您可以更改此:

功能confirmUpdate()

变种为btnUpdate =的document.getElementById(“为btnUpdate”)

如果(btnupdate.value ==“保存”;)

doSave();

否则

btnupdate.value =“保存”;



功能doSave()

的document.getElementById(“表“)行动=”doTest.action“;。

的document.getElementById(“形”)提交();。
参考技术B 传个参数 this 参考技术C 传一个参数过去就知道了!

Redis的使用(待更新)

import redis
#redis的使用
"""
{
    "k1":"v1",
    names: [把几个,鲁宁,把几个,鲁宁,把几个,把几个,把几个,把几个,]
}

"""

conn = redis.Redis(host=192.168.20.150,port=6379,password=‘‘)
# conn.set(ldq_k1,v1)
k1 = conn.get(ldq_k1)
print(k1)#bv1
# conn.rpush(ldq_k2,*[1,2,3,4,5,6])
k2= conn.rpop(ldq_k2)
print(k2)

# print(conn.rpop(sale_id_list))
# conn.set(k1,v1) # 向远程redis中写入了一个键值对
# val = conn.get(k1) # 获取键值对
# print(val)
# conn.lpush(names_list,*[把几个,鲁宁]) #
# v = conn.llen(names_list)
#
# for i in range(v):
#     val = conn.rpop(names_list)
#     val = conn.lpop(names_list)
#     print(val.decode(utf-8))
# v = conn.llen(namessssss_list)
# print(v)

# [把几个,鲁宁,把几个,鲁宁,把几个,把几个,把几个,把几个,]

# conn.lpush(sale_id_list,*[1,2,3,1,2,1,1,1])

# 自动分配时,获取销售ID
# sale_id = conn.rpop(sale_id_list)

# 获取之后,未使用。再重新加入到原来的列表中
# conn.rpush(sale_id_list,3)

# conn.delete(sale_id_list_origin)
# conn.rpush(sale_id_list_origin,*[1,2,3,1,2,1,1,1])

# ct = conn.llen(sale_id_list_origin)
# for i in range(ct):
#     v = conn.lindex(sale_id_list_origin,i)
#     conn.rpush(sale_id_list,v)
#
# v = conn.lpop(sale_id_list)
# print(v)
#
# conn.delete(sale_id_list_origin)
# conn.delete(sale_id_list)

# 第一次运行,只有数据库有数据

# 如果数据库中没有取到数据,那么直接返回None
# 否则
# conn.rpush(sale_id_list,*[1,2,3,1,2,1,1,1])
# conn.rpush(sale_id_list_origin,*[1,2,3,1,2,1,1,1])

# 接下类一个一个获取,如果取到None,表示已经取完
# sale_id = conn.lpop(sale_id_list)
# if not sale_id:
#     # 先判断,是否需要重置
#     if reset:
#         conn.delete(sale_id_list_origin)
#         conn.delete(sale_id_list)
#         # 重新从数据库获取,并给两个进行复制
#         reset = False
#     else:
#         ct = conn.llen(sale_id_list_origin)
#         for i in range(ct):
#             v = conn.lindex(sale_id_list_origin, i)
#             conn.rpush(sale_id_list, v)
#     sale_id = conn.lpop(sale_id_list)
#
# print(sale_id)


# v = conn.get(xxfasdf9dfsd)
# print(v)

 

以上是关于javascript中,我把几个按钮的onClick都设置成同一个函数,当点鼠标时,怎样能知道是哪个按钮被点了?的主要内容,如果未能解决你的问题,请参考以下文章

我把几个文字用HTML语言放在网页的最下面的中间部分,怎么实现?

怎么把几个视频合成一个视频

使用键盘按钮提交网页? [复制]

如何把几个MFC控件组合在一起

javascript怎么禁用浏览器后退按钮

怎么把多个文档合并成压缩包