2017-06-10 3 views
1

Ich habe eine Hover-Operation für dynamisch hinzugefügte Eingabefelder durchgeführt.JQuery konnte keine Hover-Ereignisse auf dynamisch hinzugefügten Eingabefeldern ausführen

Auch versucht mit, funktioniert aber nur für statische Felder.

$('input').hover(
    function(event) { 
     alert("bring tooltip"); 
    }, 

    function(event) { 
     if (hasfocus) { 
      alert("Keep the tooltip"); 
     } 
    } 
); 

Need suggestions.Thanks

+0

Werfen Sie einen Blick auf diesen Beitrag: https://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements – Botimoo

+0

@Botimoo Ich habe versucht "live", aber Fehler in der Konsole zu sagen "Live ist keine Funktion" – koushik

+0

Sowohl 'live' und' delegate' sind veraltet, sollten Sie 'on' verwenden – adeneo

Antwort

0

Zunächst sollten Sie on() werden.
Zweitens sollten Sie kein hover Ereignis verwenden.
Drittens, delegieren Sie an die document, nicht die body, oder vorzugsweise nur das nächste statische Elternelement.

$(document).on({ 
    mouseenter : function() { 

    }, 
    mouseleave : function() { 
     if (this === document.activeElement) { 
      // has focus 
     } 
    } 
}, 'input'); 
0

versuchen diese

$("input").on("hover",function(event){ 
    alert("bring tooltip"); 
}); 
+0

Während dieser Code die Frage beantworten kann, würde das Bereitstellen eines zusätzlichen Kontextes, der angibt, wie und/oder warum er das Problem löst, den langfristigen Wert der Antwort verbessern. – Badacadabra

+0

ok, nächstes Mal werde ich es tun - Danke –

Verwandte Themen