2016-03-18 8 views
3

Google benutzerdefinierte Suchmaschine druckt das Suchformular mit den folgenden Tags:triying ein jquery Ereignis auszulösen auf „Klick“ oder „Fokus“ auf der GCSE Suchformular Eingabe

<gcse:search></gcse:search> 

Einmal gedruckt, die Texteingabe von das Suchformular ist:

<input id="gsc-i-id1" class="gsc-input" type="text" lang="es" autocomplete="off" size="10" name="search" title="buscar" style="width: 100%; padding: 0px; border: medium none; margin: 0px; height: auto; outline: medium none; background: rgb(255, 255, 255) url("https://www.google.com/cse/static/es/google_custom_search_watermark.gif") no-repeat scroll left center;" x-webkit-speech="" x-webkit-grammar="builtin:search" dir="ltr" spellcheck="false"> 

ich ein Ereignis für, wenn die Texteingabe Gewinne zu schaffen versuche konzentrieren oder es angeklickt wird, wie folgt aus:

$("#gsc-i-id1").click(function() { 
    alert("test"); 
}); 

Aber es funktioniert nicht. Mir gehen die Ideen aus. Funktioniert jQuery nicht, weil es sich um Komponenten-Tags handelt? Wie kann ich erreichen, was ich versuche?

Antwort

1

Sie müssen, dass event einige ancestor oder body wie diese delegieren:

$("body").on('click focus','#gsc-i-id1',function() { 
     alert("test"); 
}); 
+0

Excellent! es hat funktioniert, Danke !! – karlosuccess

+0

Wie heißt diese Technik oder Funktion? – karlosuccess

+0

Es ist 'Ereignisdelegierung', im Grunde hören Sie' body' oder irgendeinen 'container' für ein' event', und wenn es in diesem 'container' auftritt, überprüft es, ob das' event target' ein bestimmtes Element ist (zweiter Parameter in diesem Handler). http://api.jquery.com/on/ –