Помощь (DLE) как устранить конфликт JavaScript?

Тема в разделе "DLE", создана пользователем SPoX, 9 окт 2015.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    привет всем у меня на сайте установлено DLE 10.5 версия
    у меня на сайте есть чат от сандера Light-Chat 1.2.1

    в ДЛЕ есть такая функция что если выделить текст и нажать комбинацию Ctrl + Enter открывается модальное окно Укажите комментарий для администрации к найденной ошибке на странице

    а если в чате от сандера включить функцию Отправлять сообщение по Enter`у то уже происходит конфликт такого рода что в чате не работает Ctrl-Enter функция

    то есть если у меня в чате включен функция Отправлять сообщение по Enter`у то при нажатии на Ctrl-Enter должно быть начинаеться сообщение с новой строки

    то есть в моем случае работает перехватчик события нажатия Ctrl->enter

    но если в файле файл engine/classes/js/dle_js.js
    Код:
    if (event.which == 13 && event.ctrlKey) {
    заменить на
    Код:
    if (event.which == 133 && event.ctrlKey) {
    то в чате уже все работает но на сайте при выделения текста и нажатии Ctrl + Enter уже не открывается модальное окно Укажите комментарий для администрации к найденной ошибке на странице

    вот файл /engine/modules/light_chat/assets/libs.js


    как решить конфликт так чтобы на сайте обе функции работали
    я не так уж глуп с перво написал автора чата сандеру но все что он предложил этот вариант
    в файле файл engine/classes/js/dle_js.js
    Код:
    if (event.which == 13 && event.ctrlKey) {
    заменить на
    Код:
    if (event.which == 133 && event.ctrlKey) {
    но как я уже сказал потом не работает вторая функция что и не особо меня радет
    пожалуйста помогите мне
     
  2. Gameer

    Gameer Постоялец

    Регистр.:
    25 апр 2014
    Сообщения:
    111
    Симпатии:
    68
    Для кода в чате Сандера допиши
    Код:
    && $("#lc_text").is( ":focus" )
     
  3. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    175
    Симпатии:
    24
    я думал про jQuery.noConflict() что то вроде этого

    Код:
    <script src="lib.js"></script>
    <script src="dle_js.js"></script>
    <script>
    $.noConflict();
    // код сюда
    </script>
    
    но не получилось
    все равно не помогает в моем случае ведь работает перехватчик события нажатия Ctrl->enter а не конфликт (по моему)
    я искал в гугле про это но ничего толкового не нашёл

    Gameer
    я думал про ваш код сделал примерно так
    Код:
    if(!event.keyCode == 13 && $("#lc_text").is( ":focus" )){

    но ! тоже не помогло

    что мне делать ребята помогите кто разбирается в яваскрипте