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" на один объект. Требуется только добавление в избранное... |
ну ссылки всегда были такие
<a href='#'>ссылка</a> а чтобы не было перехода по ссылке, стоит вернуть false a.onclick = function() { alert(123); return false; }; // 'а' тут какой-то dom элемент <a> <a href='ololo' onclick='alert(123); return false'>ololo</a> |
Да, правильно, мы возвращаем 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. первый убрать нельзя, т.к. там идет изменение цвета и ссылка на следующую страницу... |
если не получается добиться результата текущем способом, попытайтесь изменить логику, сделайте по другому, можно ведь и ajax послать, для каждой проблемы найдется несколько способов ее решения =-)
|
Часовой пояс GMT +3, время: 10:47. |