2017-06-19 3 views
0

unter Verwendung js click() funktionieren Ich habe eine onclick wie untenPass Mausereignis

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

openmarket Funktion wie unter

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"; 
} 

Hier in dieser Funktion I 2 Parameter übergeben haben,
1) Ereignis
2) Objekt

jetzt versuche ich, dieses div von JS wie unten zu klicken.

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

aber es wird nicht funktionieren, weil ich denke, Parameter evt nicht gültig oder Nichtübereinstimmung von dem, was es sein sollte.

Kann mir jemand helfen?

Vielen Dank.

Bearbeiten Ich bekomme folgenden Fehler.

Kann nicht Eigentum 'classname' undefinierter

und Fehlerzeile evt.currentTarget.className += " active";

+0

kann ich den Grund für das Abstimmen "nah" wissen? –

+0

Warum fügst du dem Klick- und Pass-Event keinen Callback hinzu und dies zur Openmarket-Funktion – SabirAmeen

+0

@SabirAmeen, kannst du bitte erklären, wie? –

Antwort

-1

Ihre Wähler Abfrage falsch gelesen ist

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

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

dies ein jqueryclick Click-Ereignis nicht ein Mausklickereignis

-1

zurückkehren Sie einfach Javascript verwenden können:

es gut funktioniert. I there ist nur ein Div, verwenden Sie und ID statt einer Klasse.

<!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>