JavaScript: Переход при клике по строке таблицы

334
29 марта 2017, 17:48

Имеется таблица, которая генерируется посредством ASP.NET:

<asp:Repeater ItemType="..." SelectMethod="..." runat="server">
    <ItemTemplate>
        <tr class="table" onmouseover="this.style.backgroundColor='#DDD'"
            onmouseout="this.style.backgroundColor='white'" onclick="location.href='/item/<%#: Item.Id %>'">
            <td><%#: Item.Id %></td>
            <td><%#: Item.... %></td>
            <td><%#: Item.... %></td>
            <td><%#: Item.... %></td>
            <td>
                <table>
                    <tbody>
                        <tr>
                            <td><a href="/item/<%#: Item.Id %>">Открыть</a></td>
                            <td><a href="/blank/<%#: Item.Id %>" target="_blank">Печать</a></td>
                        </tr>
                    </tbody>
                </table>                            
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

С помощью JavaScript здесь реализован переход по ссылке при клике в любом месте строки, всё работает как надо за исключением последнего столбца.

В последнем столбце таблицы есть отдельная ссылка для печати бланка, бланк открывается в новой вкладке. Бланк открывается нормально, но при этом в текущей вкладке выполняется переход по ссылке из JS. Как убрать действие JS для последнего столбца таблицы?

Answer 1

Событие click всплывает до tr родительской таблицы, где выполняется его обработчик.

<td>
  <a href="/blank/<%#: Item.Id %>" target="_blank" onclick="event.stopPropagation();">Печать</a>
</td>
READ ALSO
Angular 2 | Как связать 2 разных меню между собой?

Angular 2 | Как связать 2 разных меню между собой?

Всем привет! Изучаю angular 2 и столкнулся с проблемкой

308
Конвертировать дату в формате timestamp

Конвертировать дату в формате timestamp

Здравствуйте! Требуется помощь

295
Почему JavaScript такой какой он есть сейчас? [требует правки]

Почему JavaScript такой какой он есть сейчас? [требует правки]

Глядя на те языки, которые были доступны на момент создания JavaScript, я задаюсь вопросом: Почему JavaScript пошел именно этим путем и стал таким, каким...

332