Изменить событие по клику
Добре товарищи!
Имеем чат и список юзеров соответственно, сейчас по клику на ник он выводит меню с дополнительными функциями, очень хочется научить его вставлять по клику ник юзера с запятой в окно ввода текста, а лучше по клику ЛКМ. Вот фрагмент кода который как я понимаю формирует юзер лист:
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, время: 07:36. |