이벤트가 발생하는 요소를 식별해야합니다.
사용 event.target
하면 각 요소를 가져옵니다.
거기에서 어떤 속성을 사용할 수 있습니까?
- href
- 신분증
- nodeName
jQuery 페이지 에서도 많은 정보를 찾을 수 없으므로 누군가가 위의 목록을 완료 할 수 있기를 바랍니다.
편집하다:
도움이 될 수 있습니다 : selfHTML 노드 속성 및 selfHTML HTML 속성
이벤트가 발생하는 요소를 식별해야합니다.
사용 event.target
하면 각 요소를 가져옵니다.
거기에서 어떤 속성을 사용할 수 있습니까?
jQuery 페이지 에서도 많은 정보를 찾을 수 없으므로 누군가가 위의 목록을 완료 할 수 있기를 바랍니다.
편집하다:
도움이 될 수 있습니다 : selfHTML 노드 속성 및 selfHTML HTML 속성
답변:
event.target
DOM 요소를 반환하므로 값이있는 모든 속성 / 속성을 검색 할 수 있습니다. 그래서, 더 구체적으로 귀하의 질문에 대답하기 위해, 당신은 항상 검색 할 수있을 것입니다 nodeName
, 당신은 검색 할 수 href
및 id
, 요소가 제공 이href
및 id
정의; 그렇지 않으면 undefined
반환됩니다.
그러나 이벤트 핸들러 내 this
에서 DOM 요소로 설정된를 사용할 수도 있습니다 . 훨씬 쉽게.
$('foo').bind('click', function () {
// inside here, `this` will refer to the foo that was clicked
});
event.target
firebug 또는 chrome의 개발자 도구를 사용 하여 검사하면 span 요소 (예 : 다음 속성)에 대해 볼 수 있으며 요소에있는 속성은 무엇이든 갖게됩니다. 대상 요소가 무엇인지에 따라 다릅니다.
event.target: HTMLSpanElement
attributes: NamedNodeMap
baseURI: "file:///C:/Test.html"
childElementCount: 0
childNodes: NodeList[1]
children: HTMLCollection[0]
classList: DOMTokenList
className: ""
clientHeight: 36
clientLeft: 1
clientTop: 1
clientWidth: 1443
contentEditable: "inherit"
dataset: DOMStringMap
dir: ""
draggable: false
firstChild: Text
firstElementChild: null
hidden: false
id: ""
innerHTML: "click"
innerText: "click"
isContentEditable: false
lang: ""
lastChild: Text
lastElementChild: null
localName: "span"
namespaceURI: "http://www.w3.org/1999/xhtml"
nextElementSibling: null
nextSibling: null
nodeName: "SPAN"
nodeType: 1
nodeValue: null
offsetHeight: 38
offsetLeft: 26
offsetParent: HTMLBodyElement
offsetTop: 62
offsetWidth: 1445
onabort: null
onbeforecopy: null
onbeforecut: null
onbeforepaste: null
onblur: null
onchange: null
onclick: null
oncontextmenu: null
oncopy: null
oncut: null
ondblclick: null
ondrag: null
ondragend: null
ondragenter: null
ondragleave: null
ondragover: null
ondragstart: null
ondrop: null
onerror: null
onfocus: null
oninput: null
oninvalid: null
onkeydown: null
onkeypress: null
onkeyup: null
onload: null
onmousedown: null
onmousemove: null
onmouseout: null
onmouseover: null
onmouseup: null
onmousewheel: null
onpaste: null
onreset: null
onscroll: null
onsearch: null
onselect: null
onselectstart: null
onsubmit: null
onwebkitfullscreenchange: null
outerHTML: "<span>click</span>"
outerText: "click"
ownerDocument: HTMLDocument
parentElement: HTMLElement
parentNode: HTMLElement
prefix: null
previousElementSibling: null
previousSibling: null
scrollHeight: 36
scrollLeft: 0
scrollTop: 0
scrollWidth: 1443
spellcheck: true
style: CSSStyleDeclaration
tabIndex: -1
tagName: "SPAN"
textContent: "click"
title: ""
webkitdropzone: ""
__proto__: HTMLSpanElement
window.onclick = e => {
console.dir(e.target); // use this in chrome
console.log(e.target); // use this in firefox - click on tag name to view
}
필터 속성 사용 활용
e.target.tagName
e.target.className
e.target.style.height // its not the value applied from the css style sheet, to get that values use `getComputedStyle()`
event.target
함수가 대상으로하는 노드를 반환합니다. 이것은 당신이 얻을 수있는 것과 같은 다른 노드로하고 싶은 모든 것을 할 수 있다는 것을 의미합니다.document.getElementById
나는 jQuery로 시도했다
var _target = e.target;
console.log(_target.attr('href'));
오류 반환 :
.attr이 작동하지 않음
그러나 _target.attributes.href.value
작품이었습니다.
e.target
jQuery 객체가 아니고 .attr()
jQuery의 방법 이기 때문 입니다 . 당신이 시도 __target.getAttribute('href');
한다면 그것은 잘 작동 할 것입니다.
//Do it like---
function dragStart(this_,event) {
var row=$(this_).attr('whatever');
event.dataTransfer.setData("Text", row);
}