Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

HTML+CSS+JavaScript ???

20K
13 сентября 2006 года
felix_qwerty
4 / / 13.09.2006
Добрый день. У меня тут такая проблемка, не знаю решается или нет, есть к примеру div, в нем есть таблица.
При клике правой кнопкой по div, выводит к примеру alert(1), по таблице alert(2)... вот только проблема, при нажатии на таблицу он выводит 2, затем 1... Пробовал z-index не получилось, можно ли как-нить избежать этого...:confused: ???

P.S. Заранее благодарю...
13
13 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
код в студию
20K
13 сентября 2006 года
felix_qwerty
4 / / 13.09.2006
<HTML>
<HEAD>
<title>test</title>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<meta http-equiv="Pragma" content="no-cache">
<style>
.logo1 {
position: absolute;
z-index: 1;
}
.logo2 {
position: absolute;
z-index: 4;
}
</style>
</HEAD>
<BODY oncontextmenu="return false;">
<div style="width:100%; height:100%; background-color:#EEEECC;" class="logo1" id="result_" oncontextmenu="alert(1);">
<table bgcolor="#ffffff" oncontextmenu="alert(2);" border="1" class="logo2" >
<tr>
<td width="100" height="100">dd</td>
</tr>
</table>
</div>
</BODY>
</HTML>
352
14 сентября 2006 года
skywalker
694 / / 10.02.2006
используй объектную модель документа, т.е. при клике на таблице запрещай вызов oncontextmenu для родительского эл-та.
20K
14 сентября 2006 года
felix_qwerty
4 / / 13.09.2006
:) я оч. мало использовал DOM модель, можешь примерчик небольшой показать?
12
14 сентября 2006 года
alekciy
3.0K / / 13.12.2005
[QUOTE=felix_qwerty]:) я оч. мало использовал DOM модель, можешь примерчик небольшой показать?[/QUOTE]
И совершенно напрасно. Хотя с другой стороны практически любая функция в JS это и есть манипуляция DOM-ом. Другое дело, что не все функции есть/соответсвуют DOM спецификации.

Код:
<HTML>
<HEAD>
<title>test</title>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<meta http-equiv="Pragma" content="no-cache">
<style>
.logo1 {
position: absolute;
z-index: 1;
}
.logo2 {
position: absolute;
z-index: 4;
}
</style>
<script type="text/javascript">
function fun(obj) {
    var name = obj.tagName;
    if (name == 'TABLE') {
        alert('1');
    };
};
</script>
</HEAD>
<BODY &#111;&#110;contextmenu="return false;">
<div style="width:100%; height:100%; background-color:#EEEECC;" class="logo1" id="result_" &#111;&#110;contextmenu="fun(this);">
<table bgcolor="#ffffff" &#111;&#110;contextmenu="fun(this);" border="1" class="logo2" >
<tr>
<td width="100" height="100">dd</td>
</tr>
</table>
</div>
</BODY>
</HTML>
12
14 сентября 2006 года
alekciy
3.0K / / 13.12.2005
Кстати какая у тебя стоит задача так и не ясно. Стоило бы поточнее сформулировать.
20K
14 сентября 2006 года
felix_qwerty
4 / / 13.09.2006
Я вставляю таблицу, в таблицу могу вставить все что угодно... При ondblclick все срабатывает (не знаю почему, вроде не должна, но работает), а вот при oncontextmenu не пашет, ну это понятно почему... Мне нужно что бы правый клик срабатывал только на том элементе, на кот. кликнул и при этом игнорировал все родительские элементы, т.к. на них тоже стоит oncontextmenu, т.е. есть див, правой тыкаю, вставлю к примеру таблицу, кликаю по таблице (точнее по столбцу), он должен сработать на таблице, и при этом проигнорировать родительский элемент div, если я в таблицу вставляю, и потом кликаю по этому эллементу, то должен проигнорировать все родительские эл. (div, td)...
В принципе можно через this.previousSibling, но тут я не знаю как запретить ему oncontextmenu, на всех предыдущих эллементак, где он встречается ...

P.S. плохо я объясняю, сорри :)
29K
22 августа 2007 года
Elena_R
7 / / 21.08.2007
Можно еще использовать объект Event и его свойства для запрета передачи управления родительскому элементу, если имеют место одинаковые события .
Например:
<div onclick="alert('hello1')" style="width:100px;height:100px;color:red">
<div onclick="alert('hello2');event.cancelBubble=true;" style="width:50px;height:50px;color:blue"></div>
</div>

при нажатии на розовый div будет выполняться alert только для него, а для красного не будет, так как стоит прерывание прохождения события.
Попробуйте, может вам поможет.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог