Non riesco grilletto un clic sul tag body utilizzando jQuery, sto usando questo ...grilletto corpo clic con jQuery
$('body').click();
anche questo fallisce
$('body').trigger('click');
Tutte le idee? !
Non riesco grilletto un clic sul tag body utilizzando jQuery, sto usando questo ...grilletto corpo clic con jQuery
$('body').click();
anche questo fallisce
$('body').trigger('click');
Tutte le idee? !
si dovrebbe avere qualcosa di simile:
$('body').click(function() {
// do something here
});
La funzione di callback verrà chiamato quando l'utente fa clic da qualche parte sulla pagina web. È possibile attivare la richiamata a livello di codice con:
$('body').trigger('click');
Ho già fatto quello che hai menzionato .. Quando clicco personalmente in qualsiasi punto della pagina, il Gestore dei clic funziona perfettamente – ruturaj
vuoi dire che stai provando a _fire_ l'evento? invece di lanciare l'evento, perché non chiamare la funzione che il gestore di clic avrebbe? –
sì sto provando a sparare l'evento, voglio simulare un clic sul corpo. – ruturaj
Ho usato il seguente codice un paio di volte e funziona dolce:
$("body").click(function(e){
//you can then check what has been clicked
var target = $(e.target);
if (target.is("#popup")) { }
}); // Added); this for correct syntax
è interessante .. quando ho sostituito
$("body").trigger("click")
con
jQuery("body").trigger("click")
HA FUNZIONATO!!!
che mi indica che stai usando altri framework JavaScript nella pagina che hanno anche una funzione definita shorthand $(). –
o un'altra versione di JQuery in uno script correlato. L'ho ottenuto quando si utilizza JQGrid quando si fa riferimento a .each() – KevinDeus
se tutte le cose sono state dette non ha funzionato, tornare alle origini e test se questo sta funzionando:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$('body').click(function() {
// do something here like:
alert('hey! The body click is working!!!')
});
</script>
</body>
</html>
poi ditemi se funziona o meno.
hmmm ... basta notare che si risponde alla propria domanda X). comunque puoi fare alert ($. toString()); per darti un'idea di quale sia l'altro "plugin" che interferisce con jQuery. – Seeker
Come accennato da Seeker, il problema potrebbe essere che si imposta la funzione click()
troppo presto. Dal tuo snippet di codice, non possiamo sapere dove hai posizionato lo script e se verrà eseguito al momento giusto.
Un punto importante è eseguire tali script dopo che il documento è pronto. Questo viene fatto mettendo l'inizializzazione click()
all'interno di tale altra funzione come in:
jQuery(document).ready(function()
{
jQuery("body").click(function()
{
// ... your click code here ...
});
});
Questo di solito è il metodo migliore, soprattutto se si include il codice JavaScript nel tag <head>
. Se lo includi nella parte inferiore della pagina, la funzione ready()
è meno importante, ma potrebbe comunque essere utile.
Potrebbe essere che si sta attivando l'evento click prima di aver definito la funzione click catcher? mostraci il codice in cui gestisci il clic. – duckyflip
Non voglio far apparire qualcosa di vecchio, ma suppongo che l'altezza del corpo di default di un documento non sia la stessa dell'altezza del viewport. Quindi, utilizzando css per impostare l'altezza al 100%, questo verrà risolto, ad es. 'html, body {width: 100%; altezza: 100%; } ' –