Пресечь удаление формы скриптом comment-reply.js

Приведённый код находится в родном файле WP: comment-reply.js  (по-умолчанию не подключён).

Роль его такова — при клике на кнопку «Ответить» в комментариях, форма ответа появляется сразу под комментарием, на который пользователь хочет ответить, а в самом низу форма исчезает.

Вопрос: «Как сделать так, чтобы форма внизу не исчезала?».

Очень долго копался в коде, но в js очень слаб, потому опустил руки. Моих знаний хватит лишь на то, чтобы после решения данной задачи настроить скрытие и показ нужной формы.


var addComment = { moveForm: function( commId, parentId, respondId, postId ) { var div, element, style, cssHidden, t = this, comm = t.I( commId ), respond = t.I( respondId ), cancel = t.I( 'cancel-comment-reply-link' ), parent = t.I( 'comment_parent' ), post = t.I( 'comment_post_ID' ), commentForm = respond.getElementsByTagName( 'form' )[0]; if ( ! comm || ! respond || ! cancel || ! parent || ! commentForm ) { return; } t.respondId = respondId; postId = postId || false; if ( ! t.I( 'wp-temp-form-div' ) ) { div = document.createElement( 'div' ); div.id = 'wp-temp-form-div'; div.style.display = 'none'; respond.parentNode.insertBefore( div, respond ); } comm.parentNode.insertBefore( respond, comm.nextSibling ); if ( post && postId ) { post.value = postId; } parent.value = parentId; cancel.style.display = ''; cancel.onclick = function() { var t = addComment, temp = t.I( 'wp-temp-form-div' ), respond = t.I( t.respondId ); if ( ! temp || ! respond ) { return; } t.I( 'comment_parent' ).value = '0'; temp.parentNode.insertBefore( respond, temp ); temp.parentNode.removeChild( temp ); this.style.display = 'none'; this.onclick = null; return false; }; /* * Set initial focus to the first form focusable element. * Try/catch used just to avoid errors in IE 7- which return visibility * 'inherit' when the visibility value is inherited from an ancestor. */ try { for ( var i = 0; i < commentForm.elements.length; i++ ) { element = commentForm.elements[i]; cssHidden = false; // Modern browsers. if ( 'getComputedStyle' in window ) { style = window.getComputedStyle( element ); // IE 8. } else if ( document.documentElement.currentStyle ) { style = element.currentStyle; } /* * For display none, do the same thing jQuery does. For visibility, * check the element computed style since browsers are already doing * the job for us. In fact, the visibility computed style is the actual * computed value and already takes into account the element ancestors. */ if ( ( element.offsetWidth <= 0 && element.offsetHeight <= 0 ) || style.visibility === 'hidden' ) { cssHidden = true; } // Skip form elements that are hidden or disabled. if ( 'hidden' === element.type || element.disabled || cssHidden ) { continue; } element.focus(); // Stop after the first focusable element. break; } } catch( er ) {} return false; }, I: function( id ) { return document.getElementById( id ); } };

Добавить Комментарий

Снимаю вопрос.

Всем кто столкнётся с данной проблемой, рекомендую смотреть код страницы на предмет «display: none;».

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.