Javascript:单击元素而不是按钮
我有一个简单的代码,其中有4个带按钮的容器。现在,我尝试使整个元素可以单击,以重定向到特定于容器的站点 我在示例中使用的一个元素可以很好地工作,但当我添加多个元素时,其他元素将无法工作 有facebook、youtube、google和twitter容器,每个容器都有特定的重定向链接 所以我需要使不止一个元素不仅在按钮上,而且在整个元素上都可以正确点击Javascript:单击元素而不是按钮,javascript,html,css,Javascript,Html,Css,我有一个简单的代码,其中有4个带按钮的容器。现在,我尝试使整个元素可以单击,以重定向到特定于容器的站点 我在示例中使用的一个元素可以很好地工作,但当我添加多个元素时,其他元素将无法工作 有facebook、youtube、google和twitter容器,每个容器都有特定的重定向链接 所以我需要使不止一个元素不仅在按钮上,而且在整个元素上都可以正确点击 var el=document.getElementById(“容器”); 如果(el.addEventListener){ el.addEv
var el=document.getElementById(“容器”);
如果(el.addEventListener){
el.addEventListener(“单击”,函数(){
document.getElementById(“按钮”)。单击();
},假);
}否则{
el.attachEvent(“onclick”,function()){
document.getElementById(“按钮”)。单击();
});
}
#容器{
背景:珊瑚;
填充:32px;
利润率:16px;
光标:指针;
}
在HTML结构中,
id
必须是唯一的,您可以改用class
,但您还需要遍历这些项(下面包含的代码片段)
var-elements=document.querySelectorAll(“.container”);
elements.forEach(el=>{
如果(el.addEventListener){
el.addEventListener(“单击”,函数(){
el.querySelector(“.按钮”)。单击();
},假);
}否则{
el.attachEvent(“onclick”,function()){
el.querySelector(“.按钮”)。单击();
});
}
});代码>
.container{
背景:珊瑚;
填充:32px;
利润率:16px;
光标:指针;
}
下面是如何使用简单的javascript函数来实现这一点的代码
函数gohere(url){
位置.替换(url)
}
#容器{
背景:珊瑚;
填充:32px;
利润率:16px;
光标:指针;
}
谷歌
Youtube
脸谱网
啁啾
当页面上有多个元素时,不应使用“id”。相反,建议使用css类
您可以做的是使用document.querySelectorAll('.some class here')
然后在每个元素中进行迭代以应用click的事件侦听器
关于使整个元素可单击,我将使用以下三种方法之一:
我喜欢的一个选项是在按钮中添加填充,这样按钮/链接就可以填充容器的所有空间,整个容器都可以点击
将容器放在链环内
您必须创建一个javascript函数,该函数将接收正在单击的元素,并读取与将具有链接的元素相关的一些数据,如datalink=”http://google.com“
。有了这些数据,您可以使用location
重定向或在新表中打开链接
id必须是唯一的,使用不同的id或更改选择器class@AlibiGhazi当我使用类选择器时,脚本将不起作用,不同的ID,但我有数百个类似的元素,所以不同的ID将是一个问题:D@tarkh是的,但当我使用类选择器时,脚本将不起作用。请尝试使用锚定标记包装div,如下所示
在代码中执行当前正在执行的操作将不起作用