2017-04-19 4 views
1

Ich habe den folgenden jquery Code, der beim Klicken auf div-Element, eine Aktion stattfindet. Ich möchte die gleiche Klickaktion Canvas.showContentDoc(d); an die href im #document Element hinzufügen.jQuery Aufruf der gleichen Methode beim Klick auf verschiedene Elemente

Ich möchte die gleiche Aktion stattfinden, wenn der Benutzer auf <i class='fa fa-angle-double-down'></i> klickt, wie kann ich das erreichen?

for (node in obj.nodes) { 
    var d = obj.nodes[node]; 
    var color_document = "blue" 
    jQuery('<div/>', { 
     id: 'document' + d.id, 
     class: 'document', 
     click: function (d) { 
      Canvas.showContentDoc(d); 
     } 
    }).appendTo(title) 

    $('#document' + d.id).append("<span class='fa-stack fa-1x'> <i class='fa fa-circle fa-stack-2x' style='color:rgba(110,130,34, 1)'></i><i class='fa fa-file fa-stack-1x' style='color:" + color_document + "'></i></span> : " + d.label + " (" + d.id_doc + ")<a href='#'> <i class='fa fa-angle-double-down'></i> </a> ");      

    Canvas.selectedNodesInfos[nodes_iteration + id_start]['label'] = d.label; 

    nodes_iteration += 1; 
    } 
+0

Können Sie uns zeigen, die HTML-Ausgabe? – dsharew

Antwort

2

Es ist so einfach, wie this in jQuery @dsharew beantworten ist:

$("selector1, selector2, selector3").on("click", function(){ 
    Canvas.showContentDoc(d); 
}); 

Überprüfen Sie es auf jsFiddle oder versuchen Sie diese Demo:

$(document).ready(function(){ 
 

 
$("#button_1, #span_1, #anchor_1").on("click", function(){ 
 
\t sameMethod(); 
 
}); 
 

 
}); 
 

 
function sameMethod(){ 
 
\t alert("same method called."); 
 
    console.log("same method called.") 
 
}
.clickable{ 
 
    display: block; 
 
    padding: 5px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 

 
<button id = "button_1" class = "clickable"> 
 
Click Me 
 
</button> 
 

 

 
<span id = "span_1" class = "clickable"> 
 
Click Me 
 
</span> 
 

 
<a href="#" id = "anchor_1" class = "clickable">Click Me</a> 
 

 

 

 
</div>

0

Sie .querySelector() verwenden können, ein Ereignis-Listener hinzufügen, wie folgt aus:

document.querySelector('li.fa.fa-angle-double-down').addEventListener('click', function() { 
    Canvas.showContentDoc(d); 
}); 

Hier ist ein sehr einfaches Beispiel:

document.querySelector('li.fa.fa-angle-double-down').addEventListener('click', function() { 
 
    alert('Clicked!'); 
 
});
<li class="fa fa-angle-double-down">List item</li>

+0

Wie integriere ich es in meinen Code? Kannst du bitte dabei helfen? – passion

+0

@passion Sicher, kopieren Sie einfach den Code an der Spitze meiner Antwort (mit Ihrem 'Canvas.showContentDoc (d);' Funktionsaufruf) und legen Sie es am Ende der JavaScript-Datei. Du bist gut zu gehen. – freginold

0

Sie können Ihre wickeln <i class='fa fa-angle-double-down'></i> in <a>

Beispiel: <a href="#" onclick="Canvas.showContentDoc(d);"> <i class='fa fa-angle-double-down'></i></a>

Obwohl ich glaube, dass geht JS ganzen Weg besser sehen

Verwandte Themen