3 заметки с тегом

DOM РСС

18 июля 2009, 20:32

crossbrowser click event (DOM)

var clickEvent:Object = doc.createEvent("MouseEvents");
clickEvent.initMouseEvent("click");
HTMLElement.dispatchEvent(clickEvent);
С помощью dispatchEvent мы напрямую бросаем ивент(событие) в модель ивентов. Использовать можно, так же и для других событий ;)

4 декабря 2008, 11:22

YASS: Yet Another cSS selector

Вот тут можно скачать YASS, который поможет быстрее всех выбрать все нужные DOM элементы по маске!
как использовать? :) всё просто:
_('a.link'); // выбрать все теги <a> с class="link"
_('.link span'); //выбрать все теги <span> внутри тега с class="link"
_('p'); //выбрать все теги <p>
_('#p'); //выбрать все теги с id="p" 
_('#p .link'); //выбрать все теги с class="link" внутри тега с id="p"
_('#p #sp1'); //выбрать все теги с id="sp1" внутри тега с id="p"
_('p#p'); //выбрать все теги <p> с id="p"
_('p a'); //выбрать все теги <a> внутри тега <p>
_('.link'); //выбрать все теги с class="link"
_('.link #sp1'); //выбрать все теги с id="sp1" внутри тегов с class="link"
_('img'); //выбрать все теги <img>
_('body p img'); //выбрать все теги <img> внутри тега <p>, что внутри <body>
_('a, img'); // выбрать все теги <a> и <img>

скачать 0.1ю версию для ознакомления с принципом работы 6Kb (русские комментарии)
yass   selectors   DOM

2 июля 2008, 15:43

Как найти координаты DOM элемента используя JavaScript?

Determine the coordinates {X, Y} using JavaScript
/* Определяем через паренты начало элемента по оси Х
Входной парметр, АйДи элемента
Возвращает Int*/
function findPosX(obj){
  var curleft = 0;
  if(obj.offsetParent)
    while(1) {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)break;
      obj = obj.offsetParent;
    }
  else if(obj.x) curleft += obj.x;
  return curleft;
}
/* Определяем Не Ие ли Броузер :)
Возвращает Bool*/
function isIE (){
    return navigator.userAgent.toLowerCase().indexOf("msie") > -1;}
/* Определяем через паренты начало элемента по оси Y
Входной парметр, АйДи элемента
Возвращает Int*/
function findPosY(obj){
  var curTop= 0;
  if(!isIE) curTop= obj.offsetHeight;
  if(obj.offsetParent)
    while(1){
     curTop+= obj.offsetTop;
     if(!obj.offsetParent) break;
     obj= obj.offsetParent;
    } 
  else if(obj.y) curTop+= obj.y; 
  return curTop;
} 
/* Определяем через функции findPosХ и findPosY координаты елемента
Входной парметр, АйДи элемента
Возвращает масив координат array {x,y}*/
function getPositionMy(e){
  return {x:findPosX(e), y:findPosY(e)};
}
coordinates   DOM