2017-06-19 74 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>