подскажите по js

M
На сайте с 18.10.2006
Offline
185
462

Требуется организовать запуск скрипта 1.js при клике по любой ссылке на странице, которая открывается в том же окне.

Подскажет кто решение? ;)

Нужно само условие. Т.е. если новое окно - игнорим, если то же - то отрабатываем.

Кому-то - асерет-а-диброт, а кому-то - хатуль мадан. Вам выбирать!
ДП
На сайте с 23.11.2009
Offline
190
#1

В такой формулировке вряд ли сработает, потому как по клику на ссылке начнется загрузка страницы и ваш скрипт банально не успеет загрузиться и выполниться.

Но если вы имеете в виду какую-то функцию, то общий алгоритм таков:

1. Назначаете функцию обработчик клика по ссылке.

2. В эту функцию в качестве аргумента браузер будет передавать объект-событие.

3. У этого объекта есть свойство target - это dom-элемент по которому был клик.

4. Проверяете значение атрибута target у этого элемента, и если там _self или атрибута нет - то выполняете нужный код.

Ну или можно попробовать навесить обработчик только на ссылки без атрибута target или со значением его _self

M
На сайте с 18.10.2006
Offline
185
#2

У меня проблема такая. Есть скрипт, который отрабатывает открытие окна по любому клику на странице.

Однако если клик происходит по ссылке, которая открывается в новом окне - то Хром ругается насчёт консоли. И блокирует открытие окна.

Я решил, что лучше вообще добавить условие, по которому не будет отрабатывать скрипт, если клик был по ссылке, которая откроется в новом окне.

Но так как в js я нуб, потому обратился за решением :).

На мой взгляд для профи - это пару строчек).

L
На сайте с 07.12.2007
Offline
351
#3
MO $$$:
Я решил, что лучше вообще добавить условие, по которому не будет отрабатывать скрипт, если клик был по ссылке, которая откроется в новом окне.

Но так как в js я нуб, потому обратился за решением :).

У ссылок, открывающихся в новом окне должен быть атрибут target='_blank', его можно проверять на JS.

Но вот как быть с кликом колёсиком мышки и правой клавишей мыши -> 'Открыть в новом окне'...

M
На сайте с 18.10.2006
Offline
185
#4
Ladycharm:
У ссылок, открывающихся в новом окне должен быть атрибут target='_blank', его можно проверять на JS.

Но вот как быть с кликом колёсиком мышки и правой клавишей мыши -> 'Открыть в новом окне'...

правая кнопка и колёсико - не конфликтуют в моём случае :)

а можете проверку-условие на target='_blank' привести?☝

IL
На сайте с 20.04.2007
Offline
412
#5

В имеющемся скрипте добавить условие..

Полагаю, используется Jquery

$('a[target="_blank"]')...
M
На сайте с 18.10.2006
Offline
185
#6
ivan-lev:
В имеющемся скрипте добавить условие..
Полагаю, используется Jquery
$('a[target="_blank"]')...

Можно ли так?

if (...) {скрипт}

и что писать в условие? 🙄

iqmaker
На сайте с 17.04.2012
Online
303
#7
MO $$$:
и что писать в условие?

как то так: http://jsfiddle.net/t3g7uk4o/1/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий