2017-06-19 68 views
0

起作用我有一个onclick如下通行证鼠标事件通过使用JS点击()

<div class="tablinks active" onclick="openmarket(event,this)" data-uid="1"> 

openmarket函数像下面

function openmarket(evt, obj) { 
    var i, tabcontent2, tablinks2; 
    tabcontent2 = document.getElementsByClassName("tabcontent2"); 
    for (i = 0; i < tabcontent2.length; i++) { 
     tabcontent2[i].style.display = "none"; 
    } 
    tablinks2 = document.getElementsByClassName("tablinks2"); 
    for (i = 0; i < tablinks2.length; i++) { 
     tablinks2[i].className = tablinks2[i].className.replace(" active", ""); 
    } 
    document.getElementById(obj.getAttribute('data-uid')).style.display = "block"; 
    evt.currentTarget.className += " active"; 
} 

在这里,在这个函数I已通过2个参数,
1 )事件
2)对象

现在我尝试点击这个div由JS像下面。

$("div [data-uid='1']").click(); 

,但它不会工作,因为我想参数evt不是来自它应该是什么有效的或不匹配。

任何人都可以帮助我吗?

谢谢。

编辑 我收到以下错误。

无法读取未定义

错线的特性 '的className' 是evt.currentTarget.className += " active";

+0

我可以知道投票close的原因吗? –

+0

为什么你不添加一个回调点击和通过事件和这个开放式市场功能 – SabirAmeen

+0

@SabirAmeen,你能解释一下吗? –

回答

-1

您选择的查询是错误的

变化$("div [data-uid='1']").click();

$("div[data-uid='1']").click();

这将返回一个jqueryclick click事件不是一个鼠标点击事件

-1

您可以使用简单的JavaScript:

它运作良好。我只有一个div,使用和id而不是一个类。

<!DOCTYPE html> 

<html> 

<head> 
    <meta charset="UTF-8"> 
    <title>Insert title here</title> 
</head> 
<!--I wish to append it here--> 
<body> 

    <div class="tablinks active uid1" onclick="openmarket(event,this)" 
    data-uid="1" style="height:30px;width:50px;background-color:red;"> 
    </body> 
</html> 

<script type="text/javascript"> 
function openmarket(evt, obj) { 
    var i, tabcontent2, tablinks2; 
    tabcontent2 = document.getElementsByClassName("tabcontent2"); 
    for (i = 0; i < tabcontent2.length; i++) { 
     tabcontent2[i].style.display = "none"; 
    } 
    tablinks2 = document.getElementsByClassName("tablinks2"); 
    for (i = 0; i < tablinks2.length; i++) { 
     tablinks2[i].className = tablinks2[i].className.replace(" active", ""); 
    } 
    document.getElementById(obj.getAttribute('data-uid')).style.display = "block"; 
    evt.currentTarget.className += " active"; 
} 
var list=document.getElementsByClassName("uid1"); 
for(var i=0;i<list.length;i++){ 
    list[i].click(); 
} 
</script>