Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 17.06.2012, 17:45
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

GrizzlyBear,
А чем плох - onclick для приведенной задачи ?

Собственно нун плясать от отличий фокуса и клика: - фокус вставляет каретку курсора в элемент
Ответить с цитированием
  #12 (permalink)  
Старый 17.06.2012, 17:50
Аспирант
Отправить личное сообщение для GrizzlyBear Посмотреть профиль Найти все сообщения от GrizzlyBear
 
Регистрация: 26.01.2011
Сообщений: 64

Я просто как пример привел
Понятно что решений этой задачи много и без фокуса
но я то хочу конкретно с фокусом увидить
Ответить с цитированием
  #13 (permalink)  
Старый 17.06.2012, 17:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<div id=a style="border:blue 1px solid;">также с дивом к примеру в нем текст. при нажатии на див текст пропадает</div>
<br/>
<div id=b style="border:red 1px solid;"> а если нажать в другое место то текст возвращается.</div>


<script type="text/javascript">
$("#a,#b").click(function(){
  if($(this).attr('id')=='a'){$("#a").hide();
  } else $("#a").show();
});
</script>


<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<div id=a style="border:blue 1px solid;height:23px;">также с дивом к примеру в нем текст. при нажатии на див текст пропадает</div>
<br/>
<div id=b style="border:red 1px solid;height:23px;"> а если нажать в другое место то текст возвращается.</div>


<script type="text/javascript">
$("#a,#b").click(function(){
  if($(this).attr('id')=='a'){ $("#a").attr("alt", $("#a").text() ); $("#a").text('')
  } else $("#a").text( $("#a").attr("alt") );
});
</script>

Последний раз редактировалось Deff, 17.06.2012 в 22:33.
Ответить с цитированием
  #14 (permalink)  
Старый 17.06.2012, 18:08
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Лень читать все, просто напишу: в HTML5 <a> относится к flow content, поэтому можно спокойно завернуть блок в ссылку.
Ответить с цитированием
  #15 (permalink)  
Старый 17.06.2012, 21:59
Аватар для Джэксон
Аспирант
Отправить личное сообщение для Джэксон Посмотреть профиль Найти все сообщения от Джэксон
 
Регистрация: 21.05.2012
Сообщений: 89

onfocus тот же самый onclick! И работать на див они будут одинаково!!!
Ответить с цитированием
  #16 (permalink)  
Старый 17.06.2012, 23:22
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Все можно
<html>
<head>
<meta charset='utf-8'>
<title></title>
</head>
<style>
</style>
<body>
<div style='width:100%;height:100%' id='div2' onclick='O(-2,"l")'></div>
<div id='div' style='position:absolute;top:0px;left:0px;width:300px;height:200px;background-color:f00;' onclick='O(2)' onmouseout='O(-1,false)' onmouseover='O(1,true)'>
<b id='b'>Блаблаблаблаблабла текст</b>
</div>
<script type='text/javascript'>
document.k = 0;
document.t = false;
document.l;
var div = document.getElementById('div');
var b = document.getElementById('b');
document.inka = b.innerHTML;
function O(arg,arg2){ 
 if(arg2 == 'l'){
  if(document.k != 2){
   document.k += 2;
  }
 } 
 document.k += arg;
 if(document.k > 3) document.k = 3;
 if(document.k < -3) document.k = -3;
 if((arg2 != null) && (arg2 != undefined)) document.t = arg2;
 if(document.t == true){div.setAttribute('onmouseout','O(-1,false)');div.setAttribute('onmouseover','')}
 else{div.setAttribute('onmouseover','O(1,true)');div.setAttribute('onmouseout','')}
 if(document.k > 0){
  document.getElementById('b').style.opacity = 0;
  document.getElementById('div').style.border = 'solid blue 3px';
 }
 else{
  document.getElementById('b').style.opacity = 1;
  document.getElementById('div').style.border = 'solid red 3px';
 }
}
</script>
</body>
</html>
нажатие на див будто вызывает фокус и он остается (как у формы), ну и при наводке тоже фокус образуется и исчезает при отводе =)=)

P.S. в коде ошибка скоро найду её.
P.P.S ошибка исправлена.

Последний раз редактировалось Dim@, 18.06.2012 в 08:40. Причина: Небольшая правка кода
Ответить с цитированием
  #17 (permalink)  
Старый 18.06.2012, 03:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<style>
#a,#b{
 margin:3px 0;
 padding: 2px 12px;
 width:530px;
 float:left;
}
</style>
<span>
<div id=a style="border:blue 1px solid;" onclick="this.style.color='transparent'" >Кликаем - Текст исчезнет</div>
<br/>
<div id=b style="border:red 1px solid;" onclick="this.parentNode.childNodes[1].style.color=''"> Кликаем тут, в Первом окне - появится</div>
</span>
Ответить с цитированием
  #18 (permalink)  
Старый 18.06.2012, 08:41
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

все я ошибку исправил в своем примере
Ответить с цитированием
  #19 (permalink)  
Старый 18.06.2012, 12:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Dim@,
Можно существенно сократить
скрытие через onmouseout легко реализовать через css
Ответить с цитированием
  #20 (permalink)  
Старый 18.06.2012, 12:59
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Deff,
да пофиг не так уж много и памяти жрет мой пример , зато у меня как с реальным фокусом
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Collection – фреймворк для управления данными kobezzza Ваши сайты и скрипты 155 10.05.2013 08:59
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Установка цвета через функцию .css() сбрасывает цвет для :hover xintrea jQuery 4 18.08.2012 15:38
Некорректная работа get(set)Attribute в IE для элементов img back to back Internet Explorer 15 09.06.2012 16:52
Как вернуть фокус в окно редактирования? Roman Koff Общие вопросы Javascript 1 02.08.2010 12:35