Привіт, друзі! Спонтанний пост сьогодні. Соціальні мережі та різні месенджери тісно переплелися з нашого життя і вже складно уявити, а що було б без них? Це зручно, швидко і зрозуміло для кожного людини. Корпорації вкладають величезні гроші не тільки на дизайн, замовляючи наукові дослідження про те, як той чи інший колір впливає на людину і його сприйняття, але і зручність використання, юзабіліті. І в повсякденному користуванні ми поступово звикаємо до певних речей, відсутність яких вже можна вважати незручним.
До багатьох фішках ми звикли і хочеться, щоб вони були скрізь і працювали однаково.
Скрізь, та не скрізь! Я не особливо любитель соцмереж або месенджерів, але доводиться користуватися, і в результаті навіть я «деформувався». Зокрема, я настільки звик до поєднання клавіш ctrl+enter для відправки повідомлень (або будь-яких інших форм, які можна і потрібно відправляти), що підсвідомо я спочатку натискаю ці клавіші і тільки потім думаю. Банально збираюся відповідати на накопичені коментар на моєму блозі, відповідаю і відразу починаю нервувати, коли після натискання ctrl+enter нічого не відбувається.
Сьогодні я дійшов до критичної позначки, вирішив, що так більше жити не можна і треба зробити, щоб при натисканні ctrl+enter вирушав коментар і на моєму блозі!
Сказано – зроблено. Ділюся рішенням.
В адмінці свого WordPress блогу заходьте в розділ «Зовнішній вигляд – Редактор», праворуч збоку шукаєте шаблон «Коментарі (comments.php)» переходьте до нього і шукайте кінець форми, тобто рядок «». Вище додайте:
<script type=“text/javascript”> document.getElementById(“comment”).onkeydown = function (moz_ev) { var ev = null; if (window.event){ ev = window.event; } else{ ev = moz_ev; } if (ev != null && ev.ctrlKey && ev.keyCode == 13) { document.getElementById(“submit”).click(); } } </script> |
document.getElementById(“comment”).onkeydown = function (moz_ev) {
var ev = null;
if (window.event){
ev = window.event;
}
else{
ev = moz_ev;
}
if (ev != null && ev.ctrlKey && ev.keyCode == 13) {
document.getElementById(“submit”).click();
}
}
Після цього натискаємо «Оновити файл», а потім чистимо весь кеш (у мене стоїть плагін WP Super Cache і тому в шапці завжди є кнопка «Видалити весь кеш»).
Зверніть увагу!
Поки писав, подумав, що, швидше за все, у вас не буде потрібної форми в шаблоні comments.php, а вона буде винесена в файли движка, які чіпати не рекомендується і які при кожному оновленні перезаписуються. Тільки у мене шаблоном вже більше 6 років і все костилі так за ним і тягнуться з року в рік, з версії у версію…
Для вас я придумав набагато більш елегантне і універсальне рішення. Воно підійде для будь-яких версій WordPress, для будь-яких шаблонів і т. д. В адмінці заходьте в «Зовнішній вигляд – Редактор», шукайте шаблон «Функції теми functions.php)» і в самий низ додавайте функцію:
/*** ДОДАЄМО наш JS у форму відправки коментаря ***/ function ctrlEnterPosting () { echo ‘ document.getElementById(“comment”).onkeydown = function (moz_ev) { var ev = null; if (window.event){ ev = window.event; } else{ ev = moz_ev; } if (ev != null && ev.ctrlKey && ev.keyCode == 13) { document.getElementById(“submit”).click(); } } ‘; } add_action(‘comment_form’, ‘ctrlEnterPosting’); // додаємо функцію ctrlEnterPosting у форму коментування |
/*** ДОДАЄМО наш JS у форму відправки коментаря ***/
function ctrlEnterPosting () {
echo’
document.getElementById(“comment”).onkeydown = function (moz_ev) {
var ev = null;
if (window.event){
ev = window.event;
}
else{
ev = moz_ev;
}
if (ev != null && ev.ctrlKey && ev.keyCode == 13) {
document.getElementById(“submit”).click();
}
}
‘;
}
add_action(‘comment_form’, ‘ctrlEnterPosting’); // додаємо функцію ctrlEnterPosting у форму коментування
Потрібний нам JS сам вмонтується у форму коментування в потрібне нам місце. Не забудьте почистити кеш і можна йти тестувати!
А поки ви не реалізували у себе, можете потестувати у мене і сказати спасибі!
І пам’ятайте – хто відправить коментар по-олдскульному, тобто натиснувши на кнопку «Відправити», той лох )))
З повагою, Олександр Алаєв