onload
요소에 이벤트를 어떻게 추가 합니까?
사용해도 되나요:
<div onload="oQuickReply.swap();" ></div>
이것을 위해?
답변
아냐, 못해 작동시키는 가장 쉬운 방법은 요소 바로 뒤에 함수 호출을 넣는 것입니다.
예:
...
<div id="somid">Some content</div>
<script type="text/javascript">
oQuickReply.swap('somid');
</script>
...
또는 훨씬 더 나은 것 </body>
:
...
<script type="text/javascript">
oQuickReply.swap('somid');
</script>
</body>
… 따라서 다음 내용이로드되는 것을 차단하지 않습니다.
답변
onload
이벤트에만 사용할 수 있습니다 document(body)
자체, 프레임, 이미지, 스크립트. 즉, 본문 및 / 또는 각 외부 리소스 에만 연결할 수 있습니다 . div는 외부 리소스가 아니며 본문의 일부로로드되므로 onload
이벤트가 적용되지 않습니다.
답변
onerror를 사용하고 src를 사용하지 않고 IMG 요소에서 일부 j를 자동으로 트리거 할 수 있습니다.
<img src onerror='alert()'>
답변
onload 이벤트는 아래 나열된 것과 같은 몇 가지 태그 만 지원합니다.
<body>, <frame>, <iframe>, <img>, <input type="image">, <link>, <script>, <style>
다음은 onload 이벤트에 대한 참조입니다.
답변
이 시도! 그리고 div에서 트리거를 두 번 사용하지 마십시오!
div 태그 전에 호출 할 함수를 정의 할 수 있습니다.
$(function(){
$('div[onload]').trigger('onload');
});
데모 : jsfiddle
답변
div의로드 이벤트에서 함수를 호출하려는 경우 jQuery를 사용하지 않으려는 경우 (내 경우와 같이 충돌하기 때문에) 모든 HTML 코드 또는 함수 코드를 포함하여 작성한 다른 코드는 단순히 함수를 호출합니다.
/* All Other Code*/
-----
------
/* ----At the end ---- */
<script type="text/javascript">
function_name();
</script>
또는
/* All Other Code*/
-----
------
/* ----At the end ---- */
<script type="text/javascript">
function my_func(){
function definition;
}
my_func();
</script>
답변
MutationObserver를 사용하여 아래 샘플 코드를 효율적으로 추가하여 문제를 해결할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
#second{
position: absolute;
width: 100px;
height: 100px;
background-color: #a1a1a1;
}
</style>
</head>
<body>
<div id="first"></div>
<script>
var callthis = function(element){
element.setAttribute("tabIndex",0);
element.focus();
element.onkeydown = handler;
function handler(){
alert("called")
}
}
var observer = new WebKitMutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
for (var i = 0; i < mutation.addedNodes.length; i++)
if(mutation.addedNodes[i].id === "second"){
callthis(mutation.addedNodes[i]);
}
})
});
observer.observe(document.getElementById("first"), { childList: true });
var ele = document.createElement('div');
ele.id = "second"
document.getElementById("first").appendChild(ele);
</script>
</body>
</html>