Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.08.2012, 14:21
Новичок на форуме
Отправить личное сообщение для SergRonin Посмотреть профиль Найти все сообщения от SergRonin
 
Регистрация: 13.08.2012
Сообщений: 6

JS. Onclick.
Есть таблица, каждая строка, при наведении на нее мышкой - меняет цвет, TR описана следующим кодом:
<tr align=\"center\" class=\"price align=\"center\" bgcolor=\"FAF9C9\"
onclick=\"window.location.href='info.php?t=pkv&id=$idskv'\" style=\"cursor:pointer\"
onMouseOver=this.style.backgroundColor='7A9EF9' onMouseOut=this.style.backgroundColor='FAF9C9'>

В одной ячейки имеется img, в качестве ссылки:
<a href=\"http://site.ru/info.php?id=$id\" title=\"Сайт\" onClick=\"window.external.AddFavorite(this.href, this.title); return false;\" rel=\"sidebar\">
<img border=\"0\" src=\"images/add.png\"></a>

2 небольших вопроса:

1) Каким образом можно показать браузеру, что данная строка является "ссылкой" - это нужно для того, что-бы при кликании правой кнопкой мыши, в меню присутствовали "открыть в новой вкладке", "открыть в фоновой влкдаке" и т.д.?

2) Каким образом сделать исключение для какой-либо ячейки, при обработке "onClick": проблема в том, что при нажатии на "add.png" (картинки) происходит одновременно и добавление в избранное, и открытие указанной страницы...Тоесть у меня 2 шт. "onClick" на один объект. Требуется только добавление в избранное...
Ответить с цитированием
  #2 (permalink)  
Старый 13.08.2012, 14:42
Профессор
Отправить личное сообщение для Dmitriyff Посмотреть профиль Найти все сообщения от Dmitriyff
 
Регистрация: 22.07.2012
Сообщений: 164

ну ссылки всегда были такие
<a href='#'>ссылка</a>


а чтобы не было перехода по ссылке, стоит вернуть false

a.onclick = function() { alert(123); return false; }; // 'а' тут какой-то dom элемент <a>

<a href='ololo' onclick='alert(123); return false'>ololo</a>
Ответить с цитированием
  #3 (permalink)  
Старый 13.08.2012, 15:56
Новичок на форуме
Отправить личное сообщение для SergRonin Посмотреть профиль Найти все сообщения от SergRonin
 
Регистрация: 13.08.2012
Сообщений: 6

Да, правильно, мы возвращаем false - перехода нету.
Но: мы для всей строки уже указали переход в onclick:
<tr align=\"center\" class=\"price align=\"center\" bgcolor=\"FAF9C9\"
onclick=\"window.location.href='info.php?t=pkv&id=$idskv'\" style=\"cursor:pointer\"
onMouseOver=this.style.backgroundColor='7A9EF9' onMouseOut=this.style.backgroundColor='FAF9C9'>

И получается, что как-бы один "слой" onclick накладывается на другой, и в результате если не срабатывает второй (во время добавления в избранное), срабатывает первый...
P.S. первый убрать нельзя, т.к. там идет изменение цвета и ссылка на следующую страницу...
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2012, 09:00
Профессор
Отправить личное сообщение для Dmitriyff Посмотреть профиль Найти все сообщения от Dmitriyff
 
Регистрация: 22.07.2012
Сообщений: 164

если не получается добиться результата текущем способом, попытайтесь изменить логику, сделайте по другому, можно ведь и ajax послать, для каждой проблемы найдется несколько способов ее решения =-)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Конфликтуют js скрипты в Opera romka AJAX и COMET 2 28.05.2012 15:32
Разное оформление для посетителей с JS и без fry2 Events/DOM/Window 13 03.02.2012 17:45
OnClick ячейки таблицы и ссылки в этой ячейке MasDen Javascript под браузер 2 30.06.2011 10:34
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28