Изменить событие по клику
Добре товарищи!
Имеем чат и список юзеров соответственно, сейчас по клику на ник он выводит меню с дополнительными функциями, очень хочется научить его вставлять по клику ник юзера с запятой в окно ввода текста, а лучше по клику ЛКМ. Вот фрагмент кода который как я понимаю формирует юзер лист: kide.insert_sesion = function(user) { var div = document.createElement('div'); div.setAttribute('style', 'cursor:pointer'); div.setAttribute('class', user._class); div.onclick = function() { kide.mostrar_usuario(user.id, user.name, user.rango, user.sesion, user.profile, user.img) }; div.innerHTML = user.name; this.$('KIDE_usuarios').insertBefore(div, this.$('KIDE_usuarios').firstChild); }; а вот код который умеет вставлять в в окно ввода текста ники (первоначально вставляет код смайликов): <a href="javascript:kide.insertSmile(' Выводимый текст ')"> Отображаемый текст </a> На всякий случай ссылка на файл JS: https://noviy-kovcheg.ru/components/...ult/js/kide.js |
Цитата:
kide.insertSmile(user.name + ', '); вместо kide.mostrar_usuario(user.id, user.name, user.rango, user.sesion, user.profile, user.img) |
Ubivectel,
kide.insert_sesion = function(user) { var div = document.createElement('div'); div.setAttribute('style', 'cursor:pointer'); div.setAttribute('class', user._class); div.onclick = function() { kide.mostrar_usuario(user.id, user.name, user.rango, user.sesion, user.profile, user.img) }; div.innerHTML = user.name; div.addEventListener('contextmenu', function(event) { event.preventDefault(); kide.insertSmile(user.name + ', '); }, true); this.$('KIDE_usuarios').insertBefore(div, this.$('KIDE_usuarios').firstChild); }; |
спасибо рони, как всегда все работает, и правда профессор! :)
|
Все, окончательно все сделал, только поменял местами события, левый клик вставляет ник, а правый вызывает меню. Хотел проделать тоже самое с никами в окне сообщений, но похоже, что там клик обрабатывает не JS а PHP, и по образу и подобию сделать не прокатило :(
|
На случай если кто-то php понимает не хуже JS:
echo '<span style="cursor: pointer" title="'.$tiempo.'" onclick="kide.mensaje(\''.addslashes($r->name).'\','.$r->userid.','.$r->id.',\''.$r->url.'\',\''.$tiempo.'\',\''.$r->sesion.'\','.$r->rango.',\''.$r->img.'\')" class="'.KideHelper::getRango($r->rango, 'KIDE_').'">'; |
Цитата:
|
Спасибо, понял, полез искать где оно в скрипте)
|
Цитата:
echo '<span style="cursor: pointer" title="'.$tiempo.'" onclick="kide.insertSmile(\''.addslashes($r->name).'\')">'; |
Да, все работает, еще бы запятую с пробелом добавить, а первоначальный код вызывать по правому клику)
|
Часовой пояс GMT +3, время: 17:52. |