2016-03-31 7 views
1

Ich versuche gerade, eine Webseite zu laden, auf der zusätzliche Daten durch Ajax geladen werden, wenn ich auf "mehr lesen" klicke, aber wenn das Skript fertig ist, wird die Seite neu geladen. Gibt es Tipps, wie Sie verhindern können, dass die Seite neu geladen wird?Verhindern, dass Seite nach dem JQuery-Trigger neu geladen wird

Ich versuchte event.preventDefault und return false;, aber das scheint nicht zu funktionieren.

Hier ist mein Code:

window.setInterval(function() { 
     $('div.getmore').trigger('click'); 
     return false; 
     } 
, 1000); 
+1

Sie müssen sich an den Handler mit 'registriert aussehen getmore' ob sie es –

+0

' $ tun (‚div.getmore‘) auf (‚Klick‘, Funktion (e) {e.preventDefault();}) ' – Rayon

+0

@marwann es muss ein Javascriptfehler sein, dem Sie begegnen, oder Ihr Formular könnte irgendwie eingereicht werden. Versuchen Sie mein Anwsser und sehen Sie, welchen Fehler Sie bekommen – shivgre

Antwort

1

Das Problem arbeiten in Ihrem jQuery-Code, den Sie eingefügt. Versuchen Sie es mit der Firebug-Konsole und klicken Sie auf "Persistent", um sicherzustellen, dass der JavaScript-Fehler auch nach dem Laden der Seite angezeigt wird. Sie können dann das eigentliche Problem finden.

+2

Ich akzeptiere es als die richtige Antwort @shivgre, da es mir geholfen hat, meine Perspektiven zu erweitern. Um etwas Kontext zu geben, ist die Seite nicht meine, sondern ein Blog, den ich gerne lese, und ich finde es schmerzhaft, sie zu durchsuchen, da sie keine Suchleiste hat. Das Problem war, dass das div immer noch existiert, auch wenn der gesamte Inhalt bereits auf der Seite ist, aber seine Sichtbarkeit ist ausgeblendet und wenn die versteckte Schaltfläche angeklickt wird, wird die Seite neu geladen. – Marwann

+0

Ich bin froh, dass es geholfen hat, hoffe, es hat dir geholfen, das Problem beim Nachladen zu beheben. – shivgre

0

die Sie interessieren, sollte dies

window.setInterval(function (e) { 
     $('div.getmore').trigger('click'); 
     e.preventDefault() 
     e.stopPropagation() 
     } 
, 1000); 
+3

'e' von was ...? – Rayon

+1

Nein, 'return false;' tut beides. Problem ist etwas anderes. – Jai

+0

'return false;' ist äquivalent zu 'e.preventDefault(); e.stopPropagation(); '- Und es hilft nicht, es zu benutzen. – Marwann

0

Sie sollten preventDefault klicken Sie auf ein a Element. Nicht der div, wenn es innerhalb der a.

<a href="google.com"> 
    <div class="getmore">Get more</div> 
</a> 

$('a').on('click', function(event) { 
    event.preventDefault(); 
}); 

// Your code