Где разместить «вернуть ложь»; в функции jQuery для исправления проблемы с переходом на страницу - PullRequest
4 голосов
/ 07 мая 2010

Изначально я искал ответ, чтобы показать / скрыть проблему перехода на страницу. Найдя ответ здесь: ссылка с href = "#" прокручивает страницу вверх при использовании с jquery slidetoggle , мне нужно понять, куда поместить return false в следующем коде:

toggleDetail : function(obj) {
    $(obj).parent().parent().next().toggleClass('hide');
    $(obj).text() == 'Show' ? $(obj).text('Hide') : $(obj).text('Show');
},

и вот мой звонок на шоу / скрыть. Функция 'href = "javascript: void (0);"' работала над остановкой перехода по страницам. Нужно ли мне возвращать false??

<a href="javascript:void(0);" onclick="VSASearch.toggleDetail(this)">Show</a>

Я пытался добавить 'return false' в конец каждой строки $(obj) перед точкой с запятой, но это было не так.

Ответы [ 3 ]

6 голосов
/ 07 мая 2010

Вам просто нужно вернуть false в обработчике onclick. Если onclick вернет false, перезапись / перезагрузка страницы будет остановлена.

<a href="#" onclick="VSASearch.toggleDetail(this);return false;" />

Или вы можете вернуть результат ваших функций следующим образом:

toggleDetail : function(obj) {
    $(obj).parent().parent().next().toggleClass('hide');
    $(obj).text() == 'Show' ? $(obj).text('Hide') : $(obj).text('Show');
    return false;
},

с

<a href="#" onclick="return VSASearch.toggleDetail(this);" />
2 голосов
/ 07 мая 2010

вы хотите вернуть false от переключателя onclick

<a onclick="VSASearch.toggleDetail(this); return false">Show</a>

Еще лучше, используйте ненавязчивый JavaScript и назначьте обработчик событий в функции $ ():

<a id="show">Show</a>

....

$(function() {
 ....
 $("#show").click = function() {
     VSASearch.toggleDetail(this);
     return false;
 }
1 голос
/ 07 мая 2010
toggleDetail : function(obj) {
    $(obj).parent().parent().next().toggleClass('hide');
    $(obj).text() == 'Show' ? $(obj).text('Hide') : $(obj).text('Show');
    return false;
},
...