Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.06.2015, 16:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от chernozor
Тема висит 3 года, никто не удосужился ответить человеку на вопрос.
А ты специально зарегился тут, дабы убрать завесу незнания?

P.S.
Жду тестовый пример, тут. Не по какой-то ссылке на сторонний ресурс...
Ответить с цитированием
  #12 (permalink)  
Старый 23.06.2015, 17:09
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Вот вам тестовый пример без jQuery.

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Документ без названия</title>
		<style type="text/css">
			.test {
				pointer-events: none;
			}
			.test::after {
				background: red;
				content: '';
				display: block;
				height: 100px;
				pointer-events: all;
				width: 100px;
			}
		</style>
	</head>

	<body>
		<div class="test">Hello world!</div>
	
		<script type="text/javascript">
			document.querySelector('.test').onclick = function() {
				alert('Hello world!');
			};
		</script>
	</body>
</html>
Ответить с цитированием
  #13 (permalink)  
Старый 23.06.2015, 17:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

на всякий для ie < 9 пролетает.
https://developer.mozilla.org/en-US/...pointer-events
Ответить с цитированием
  #14 (permalink)  
Старый 23.06.2015, 17:43
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

рони, неужели ими ещё кто-то пользуется?
Ответить с цитированием
  #15 (permalink)  
Старый 24.06.2015, 08:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Ruslan_xDD
Вот вам тестовый пример без jQuery.
Не совсем понял в чем тут смысл... Ты вешаешь событие на элемент, а не на псевдоэлемент. И в обработчике тот элемент получаешь...
Т.ч. пока ничего нового.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
.test {
	pointer-events: none;
}
.test::after {
	background: red;
	content: '';
	display: block;
	height: 100px;
	pointer-events: all;
	width: 100px;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div class="test">Hello world!</div>
<script type="text/javascript">
	document.querySelector('.test').onclick = function(e) {
		alert(e.target.tagName);
	};
</script>
</body>
</html>
Ответить с цитированием
  #16 (permalink)  
Старый 24.06.2015, 08:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Аналогичный пример уже был продемонстрирован в самом начале.
Событие на :after
Там же и дан ответ на вопрос темы.

Пока никаких опровергающих примеров я не видел.
Ответить с цитированием
  #17 (permalink)  
Старый 24.06.2015, 14:50
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

ksa, ну больше никак не получится сделать, только так.
Ответить с цитированием
  #18 (permalink)  
Старый 24.06.2015, 15:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от ksa
Ты вешаешь событие на элемент, а не на псевдоэлемент.
Согласен, при этом лишается возможность прослушивать события у основного элемента (что не есть гуд).

Увы и ах, но pointer-events не является решением.

PS. Ссыль я удалил.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #19 (permalink)  
Старый 25.06.2015, 01:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Gesandte
Собственно и весь вопрос, можно как то повесить событие на данный селектор или нет?
По идее, расчет позиции эл-та(и курсора) и отслеживание события на области
Внештатные решения типично требуют кода больше, чем дополнения через скрипт новых элементов, покрывающих нужные старые.

Последний раз редактировалось Deff, 25.06.2015 в 01:34.
Ответить с цитированием
  #20 (permalink)  
Старый 28.06.2015, 15:54
Аспирант
Отправить личное сообщение для Endy Посмотреть профиль Найти все сообщения от Endy
 
Регистрация: 15.05.2015
Сообщений: 41

так можно,только тут не определишь был ли это клик по :before или :after
<style>
    div {
        color: green;
        border: 1px green dashed;
        position: absolute;
    }
    div:after {
        content:"Ы";
        width: 100px;
        height: 100px;
        border: 2px gray solid;
        padding: 5px;
        font-size: 20px;
        position: absolute;
        top: 30px;
        left: 30px;
    }
</style>
<div id="divcheg">дивчег</div>
<script>
    divcheg.onclick = function(e) {
        if ((e.offsetX > this.offsetWidth) || (e.offsetY > this.offsetHeight)) {
            alert(e.type + ' on pseudo element');
        } else {
            alert(e.type + ' on ' + e.target.tagName)
        }
    };
</script>

Последний раз редактировалось Endy, 28.06.2015 в 18:33.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20
Плагин JQuery tabs как подписаться нв событие перекл.вкладок xela1980 jQuery 6 15.12.2009 18:00
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40