Cách thêm sự kiện onload vào phần tử div


Câu trả lời:


233

Không, bạn không thể. Cách dễ nhất để làm cho nó hoạt động là đặt lệnh gọi hàm trực tiếp sau phần tử

Thí dụ:

...
<div id="somid">Some content</div>
<script type="text/javascript">
   oQuickReply.swap('somid');
</script>
...

hoặc - thậm chí tốt hơn - ngay trước mặt </body>:

...
<script type="text/javascript">
   oQuickReply.swap('somid');
</script>
</body>

... Vì vậy, nó không chặn nội dung sau đây tải.


3
Tùy thuộc vào cách sử dụng, tốt hơn là đặt nó ở phía trước </body>. Nếu bạn muốn ẩn <div>chỉ khi javascript được bật nhưng tránh "flash". Thời gian hiển thị tùy thuộc vào thời gian trình duyệt cần tải / phân tích tất cả các tập lệnh nội tuyến / bên ngoài.
mgutt

Đây có phải là một mô hình chống, trong đó tốt hơn là giữ tất cả js trong tập tin riêng của mình? Có cách nào để chọn lọc chạy js khi các phần tử nhất định được tải vào tài liệu không?
Ryan Walton

1
Đây không phải là một mô hình chống, nhưng bạn thường đợi DOM được tải và sau đó thực hiện tất cả các công cụ JS.
DanMan

1
Ném liên kết này ra đây cho bất kỳ ai bắt gặp câu trả lời này w3schools.com/tags/ev_onload.asp - Tất cả các yếu tố HTML hiện đang hỗ trợonload
Brandon Profitield

Câu trả lời này không còn phù hợp. Đây là một cái mới
mplungjan

74

Sự onloadkiện chỉ có thể được sử dụng trên document(body)chính nó, khung, hình ảnh và tập lệnh. Nói cách khác, nó chỉ có thể được gắn vào thân và / hoặc mỗi tài nguyên bên ngoài . Div không phải là tài nguyên bên ngoài và nó được tải như một phần của cơ thể, vì vậy onloadsự kiện không được áp dụng ở đó.


18
Không chỉ trong yếu tố cơ thể, bạn có thể sử dụng nó với hình ảnh và iframe chẳng hạn, trong số những thứ khác. w3schools.com/jsref/event_onload.asp
Joe

2
Điều đáng chú ý là các tập lệnh nội tuyến KHÔNG phải là tài nguyên bên ngoài và do onloadđó không hoạt động trên bất kỳ thuộc tính nào <script>mà không có srcthuộc tính HTML (Tôi đã cố gắng sử dụng lời khuyên này trong tập lệnh nội tuyến và thấy nó không hoạt động)
gog

64

Bạn có thể tự động kích hoạt một số js trên phần tử IMG bằng cách sử dụng onerror và không có src.

<img src onerror='alert()'>

4
Xuất sắc! Cũng có thể được sử dụng để kích hoạt bản thảo từ angular: img src (error) = "function ()" />
Brian Richardson

1
Đây là một cách tiếp cận tuyệt vời. Vui lòng xem phần mở rộng giải pháp của bạn tại đây: stackoverflow.com/questions/4057236/
Kẻ

Caniuse? ͏͏͏͏͏͏͏
Pacerier

28

sự kiện onload nó chỉ hỗ trợ với một vài thẻ như được liệt kê dưới đây.

<body>, <frame>, <iframe>, <img>, <input type="image">, <link>, <script>, <style>

Ở đây tham chiếu cho sự kiện onload


17

Thử cái này! Và không bao giờ sử dụng kích hoạt hai lần trên div!

Bạn có thể xác định chức năng để gọi trước thẻ div.

$(function(){
    $('div[onload]').trigger('onload');
});

DEMO: jsfiddle


Ở trên jsfiddle không có trình tải jQuery - và không hoạt động.
Arif Burhan

@Arif Burhan Tôi không hiểu. Tôi tải JQuery (cạnh). Bạn có thể kiểm tra lại không? Tôi có thể thấy "Hello World" ngay cả khi sử dụng điện thoại di động.
Kuofp

@Kuofp Fiddle đó thực sự không có trình xử lý được gọi khi các phần tử đích của chúng được tải. Nó chỉ sử dụng jquery để tìm kiếm các phần tử có thuộc tính (trong trường hợp của bạn onload) và sau đó gọi các hàm đó. Các kịch bản làm việc ngay cả khi bạn thay đổi các thuộc tính để một cái gì đó khác hơn onloadví dụ jsfiddle.net/mrszgbxh
Trindaz

1
@Trindaz Chính xác! Nói cách khác, các kịch bản hoạt động như sự kiện onload. Cảm ơn vì đã rời bỏ một nhận xét!
Kuofp

10

Tôi chỉ muốn thêm vào đây rằng nếu bất kỳ ai muốn gọi một hàm khi tải sự kiện của div & bạn không muốn sử dụng jQuery (do xung đột như trong trường hợp của tôi) thì chỉ cần gọi một hàm sau tất cả mã html hoặc bất kỳ mã khác bạn đã viết bao gồm mã chức năng và chỉ cần gọi một chức năng.

/* All Other Code*/
-----
------
/* ----At the end ---- */
<script type="text/javascript">
   function_name();
</script>

HOẶC LÀ

/* All Other Code*/
-----
------
/* ----At the end ---- */
<script type="text/javascript">
 function my_func(){
   function definition;      

  }

 my_func();
</script>

Bạn có thể thêm nhiều hơn một chức năng theo cách này? tức là ở cuối tài liệu html ngay trước thẻ </ body>? Nếu có, thứ tự mà chúng được viết có vấn đề không?
Neo

Có, bạn có thể thêm nhiều hơn một chức năng và thứ tự sẽ không thành vấn đề với javascript đơn giản (vanilla).
dev_khan

7

chúng ta có thể sử dụng MutingObserver để giải quyết vấn đề theo cách hiệu quả khi thêm mã mẫu bên dưới

<!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>

1
Lần trước tôi đã kiểm tra các sự kiện đột biến được thực hiện khủng khiếp.
DanMan

7

Trong tháng 11 năm 2019, tôi đang tìm kiếm một cách để tạo ra một (giả) onparse EventListenercho <elements>mà không dùng onload.

(Giả thuyết) onparse EventListenerphải có khả năng lắng nghe khi một phần tử được phân tích cú pháp .


Nỗ lực thứ ba (và Giải pháp dứt khoát)

Tôi khá hài lòng với lần thử thứ hai bên dưới, nhưng tôi nhận ra rằng tôi có thể làm cho mã ngắn hơn và đơn giản hơn, bằng cách tạo một sự kiện được thiết kế riêng:

let parseEvent = new Event('parse');

Đây là giải pháp tốt nhất chưa.

Ví dụ dưới đây:

  1. Tạo ra một thợ may parse Event
  2. Khai báo một hàm (có thể chạy window.onloadbất cứ lúc nào):
    • Tìm bất kỳ phần tử nào trong tài liệu bao gồm thuộc tính data-onparse
    • Đính kèm parse EventListener với từng yếu tố
    • Gửi parse Eventtừng phần tử để thực thiCallback

Ví dụ làm việc:

// Create (homemade) parse event
let parseEvent = new Event('parse');

// Create Initialising Function which can be run at any time
const initialiseParseableElements = () => {

  // Get all the elements which need to respond to an onparse event
  let elementsWithParseEventListener = document.querySelectorAll('[data-onparse]');
  
  // Attach Event Listeners and Dispatch Events
  elementsWithParseEventListener.forEach((elementWithParseEventListener) => {

    elementWithParseEventListener.addEventListener('parse', updateParseEventTarget, false);
    elementWithParseEventListener.dataset.onparsed = elementWithParseEventListener.dataset.onparse;
    elementWithParseEventListener.removeAttribute('data-onparse');
    elementWithParseEventListener.dispatchEvent(parseEvent);
  });
}

// Callback function for the Parse Event Listener
const updateParseEventTarget = (e) => {
  
  switch (e.target.dataset.onparsed) {

    case ('update-1') : e.target.textContent = 'My First Updated Heading'; break;
    case ('update-2') : e.target.textContent = 'My Second Updated Heading'; break;
    case ('update-3') : e.target.textContent = 'My Third Updated Heading'; break;
    case ('run-oQuickReply.swap()') : e.target.innerHTML = 'This <code>&lt;div&gt;</code> is now loaded and the function <code>oQuickReply.swap()</code> will run...'; break;
  }
}

// Run Initialising Function
initialiseParseableElements();

let dynamicHeading = document.createElement('h3');
dynamicHeading.textContent = 'Heading Text';
dynamicHeading.dataset.onparse = 'update-3';

setTimeout(() => {

  // Add new element to page after time delay
  document.body.appendChild(dynamicHeading);

  // Re-run Initialising Function
  initialiseParseableElements();

}, 3000);
div {
  width: 300px;
  height: 40px;
  padding: 12px;
  border: 1px solid rgb(191, 191, 191);
}

h3 {
position: absolute;
top: 0;
right: 0;
}
<h2 data-onparse="update-1">My Heading</h2>
<h2 data-onparse="update-2">My Heading</h2>
<div data-onparse="run-oQuickReply.swap()">
This div hasn't yet loaded and nothing will happen.
</div>


Lần thử thứ hai

Các nỗ lực đầu tiên dưới đây (dựa trên @JohnWilliams'rực rỡ rỗng Hình ảnh Hack ) sử dụng một hardcoded<img /> và làm việc.

Tôi nghĩ rằng nên loại bỏ <img />hoàn toàn mã hóa cứng và chỉ tự động chèn nó sau khi phát hiện, trong một yếu tố cần thiết để khởi động một onparsesự kiện, một thuộc tính như:

data-onparse="run-oQuickReply.swap()"

Hóa ra, điều này thực sự hoạt động rất tốt.

Ví dụ dưới đây:

  1. Tìm bất kỳ phần tử nào trong tài liệu bao gồm thuộc tính data-onparse
  2. Tự động tạo ra một <img src /> và thêm nó vào tài liệu, ngay sau mỗi yếu tố đó
  3. Kích hoạt onerror EventListenerkhi công cụ kết xuất phân tích cú pháp mỗi<img src />
  4. Thực thi Callback loại bỏ mà được tạo động <img src />từ tài liệu

Ví dụ làm việc:

// Get all the elements which need to respond to an onparse event
let elementsWithParseEventListener = document.querySelectorAll('[data-onparse]');

// Dynamically create and position an empty <img> after each of those elements 
elementsWithParseEventListener.forEach((elementWithParseEventListener) => {

  let emptyImage = document.createElement('img');
  emptyImage.src = '';
  elementWithParseEventListener.parentNode.insertBefore(emptyImage, elementWithParseEventListener.nextElementSibling);
});

// Get all the empty images
let parseEventTriggers = document.querySelectorAll('img[src=""]');

// Callback function for the EventListener below
const updateParseEventTarget = (e) => {

  let parseEventTarget = e.target.previousElementSibling;
  
  switch (parseEventTarget.dataset.onparse) {

    case ('update-1') : parseEventTarget.textContent = 'My First Updated Heading'; break;
    case ('update-2') : parseEventTarget.textContent = 'My Second Updated Heading'; break;
    case ('run-oQuickReply.swap()') : parseEventTarget.innerHTML = 'This <code>&lt;div&gt;</code> is now loaded and the function <code>oQuickReply.swap()</code> will run...'; break;
  }
  
  // Remove empty image
  e.target.remove();
}

// Add onerror EventListener to all the empty images
parseEventTriggers.forEach((parseEventTrigger) => {
  
  parseEventTrigger.addEventListener('error', updateParseEventTarget, false);
  
});
div {
  width: 300px;
  height: 40px;
  padding: 12px;
  border: 1px solid rgb(191, 191, 191);
}
<h2 data-onparse="update-1">My Heading</h2>
<h2 data-onparse="update-2">My Heading</h2>
<div data-onparse="run-oQuickReply.swap()">
This div hasn't yet loaded and nothing will happen.
</div>


Lần thử đầu tiên

Tôi có thể xây dựng trên @JohnWilliams' <img src>hack (trên trang này, từ năm 2017) - đó là, cách tiếp cận tốt nhất mà tôi đã gặp.

Ví dụ dưới đây:

  1. Kích hoạt onerror EventListenerkhi công cụ kết xuất phân tích cú pháp<img src />
  2. Thực thi Callback xóa <img src />khỏi tài liệu

Ví dụ làm việc:

let myHeadingLoadEventTrigger = document.getElementById('my-heading-load-event-trigger');

const updateHeading = (e) => {

  let myHeading = e.target.previousElementSibling;
  
  if (true) { // <= CONDITION HERE
    
    myHeading.textContent = 'My Updated Heading';
  }
  
  // Modern alternative to document.body.removeChild(e.target);
  e.target.remove();
}

myHeadingLoadEventTrigger.addEventListener('error', updateHeading, false);
<h2>My Heading</h2>
<img id="my-heading-load-event-trigger" src />



@DavidBradshaw - Bạn sẽ không bao giờ tin điều đó, nhưng tôi nghĩ rằng tôi đã thực sự phá vỡ nó. Xem lần thử thứ hai , ở đầu câu trả lời ở trên.
Rounin

1
@DavidBradshaw - Cào đó. Tôi đã nghĩ ra lần thử thứ ba . Đây là giải pháp dứt khoát.
Rounin

Có thể cắt câu trả lời xuống phiên bản 3
David Bradshaw

6

sử dụng iframe và ẩn iframe hoạt động như thẻ body

<!DOCTYPE html>
<html>
<body>

<iframe style="display:none" onload="myFunction()" src="http://www.w3schools.com"></iframe>
<p id="demo"></p>

<script>
function myFunction() {
    document.getElementById("demo").innerHTML = "Iframe is loaded.";
}
</script>

</body>
</html>

6

Tôi cần phải có một số mã khởi tạo chạy sau khi một đoạn html (ví dụ mẫu) được chèn và tất nhiên tôi không có quyền truy cập vào mã thao tác với mẫu và sửa đổi DOM. Ý tưởng tương tự cho bất kỳ sửa đổi một phần nào của DOM bằng cách chèn một phần tử html, thường là a <div>.

Cách đây một thời gian, tôi đã thực hiện một vụ hack với sự kiện onload gần như vô hình <img>có trong một <div>, nhưng phát hiện ra rằng một phong cách trống rỗng, có phạm vi cũng sẽ làm:

<div .... >
<style scoped="scoped" onload="dosomethingto(this.parentElement);" >   </style>
.....
</div>

Cập nhật (ngày 15 tháng 7 năm 2017) - Tải <style>không được hỗ trợ trong phiên bản IE cuối cùng. Edge không hỗ trợ nó, nhưng một số người dùng xem đây là một trình duyệt khác và gắn bó với IE. Các <img>yếu tố dường như hoạt động tốt hơn trên tất cả các trình duyệt.

<div...>
<img onLoad="dosomthing(this.parentElement);" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" />
...
</div>

Để giảm thiểu tác động trực quan và việc sử dụng tài nguyên của hình ảnh, hãy sử dụng một src nội tuyến để giữ cho nó nhỏ và trong suốt.

Một nhận xét tôi cảm thấy cần phải thực hiện khi sử dụng a <script>là việc xác định <div>tập lệnh gần như khó hơn bao nhiêu , đặc biệt là trong việc tạo khuôn mẫu nơi bạn không thể có một id giống hệt nhau trong mỗi phiên bản mà mẫu tạo ra. Tôi nghĩ rằng câu trả lời có thể là document.civerseScript, nhưng điều này không được hỗ trợ phổ biến. Một <script>phần tử không thể xác định vị trí DOM của chính nó một cách đáng tin cậy; một tham chiếu đến 'cái này' chỉ vào cửa sổ chính và không có ích gì.

Tôi tin rằng nó là cần thiết để giải quyết cho việc sử dụng một <img>yếu tố, mặc dù là ngớ ngẩn. Đây có thể là một lỗ hổng trong khung DOM / javascript có thể sử dụng cắm.


3

onloadsự kiện chỉ được hỗ trợ trên một vài yếu tố, bạn phải sử dụng một phương pháp thay thế.

Bạn có thể sử dụng M mutObserver cho việc này:

const trackElement = element => {
  let present = false;
  const checkIfPresent = () => {
    if (document.body.contains(element)) {
      if (!present) {
        console.log('in DOM:', element);
      }
      present = true;
    } else if (present) {
      present = false;
      console.log('Not in DOM');
    }
  };

  const observer = new MutationObserver(checkIfPresent);
  observer.observe(document.body, { childList: true });
  checkIfPresent();

  return observer;
};

const element = document.querySelector('#element');
const add = () => document.body.appendChild(element);
const remove = () => element.remove();

trackElement(element);
<button onclick="add()">Add</button>
<button onclick="remove()">Remove</button>

<div id="element">Element</div>


2

Tôi thực sự thích thư viện YUI3 cho loại điều này.

<div id="mydiv"> ... </div>

<script>
YUI().use('node-base', function(Y) {
  Y.on("available", someFunction, '#mydiv')
})

Xem: http://developer.yahoo.com/yui/3/event/#onav Available


9
Đó là một đốm khá lớn của JS để đổ lên trang với mục đích ràng buộc một trang onload.
meagar

1
@meagar - Đúng vậy, mặc dù tôi thấy ngày càng hiếm khi tôi chỉ làm hai hoặc ba điều đơn giản về JS trên một trang. Lo lắng về khả năng tương thích trình duyệt chéo cũng khiến tôi thất vọng.
mjhm

0

Tôi đang học javascript và jquery và đã trải qua tất cả câu trả lời, tôi gặp phải vấn đề tương tự khi gọi hàm javascript để tải phần tử div. Tôi đã thử $('<divid>').ready(function(){alert('test'})và nó làm việc cho tôi. Tôi muốn biết đây là cách tốt để thực hiện cuộc gọi onload trên phần tử div theo cách tôi đã sử dụng bộ chọn jquery.

cảm ơn


0

Như đã nói, bạn không thể sử dụng sự kiện onLoad trên DIV mà thay vào đó là trước thẻ body.

nhưng trong trường hợp bạn có một tệp chân trang và đưa nó vào nhiều trang. Trước tiên, nên kiểm tra xem div bạn muốn có trên trang đó được hiển thị hay không, vì vậy mã không được thực thi trong các trang không chứa DIV đó để làm cho nó tải nhanh hơn và tiết kiệm thời gian cho ứng dụng của bạn.

vì vậy bạn sẽ cần cung cấp cho DIV ID đó và thực hiện:

var myElem = document.getElementById('myElementId');
if (myElem !== null){ put your code here}

0

Tôi đã có cùng một câu hỏi và đang cố gắng để Div tải một tập lệnh cuộn, sử dụng onload hoặc load. Vấn đề tôi tìm thấy là nó sẽ luôn hoạt động trước khi Div có thể mở, không phải trong hoặc sau, vì vậy nó sẽ không thực sự hoạt động.

Sau đó, tôi đã đưa ra điều này như là một công việc xung quanh.

<body>

<span onmouseover="window.scrollTo(0, document.body.scrollHeight);" 
onmouseout="window.scrollTo(0, document.body.scrollHeight);">

<div id="">
</div>

<a href="" onclick="window.scrollTo(0, document.body.scrollHeight);">Link to open Div</a>

</span>
</body>

Tôi đặt Div bên trong Span và đưa cho Span hai sự kiện, di chuột và rê chuột. Sau đó, bên dưới Div đó, tôi đã đặt một liên kết để mở Div và đưa liên kết đó một sự kiện cho onclick. Tất cả các sự kiện giống hệt nhau, để làm cho trang cuộn xuống cuối trang. Bây giờ khi nhấp vào nút để mở Div, trang sẽ nhảy xuống một phần và Div sẽ mở phía trên nút, khiến các sự kiện rê chuột và rê chuột giúp đẩy tập lệnh cuộn xuống. Sau đó, bất kỳ chuyển động của chuột tại thời điểm đó sẽ đẩy kịch bản một lần cuối cùng.


0

Bạn có thể sử dụng một khoảng để kiểm tra nó cho đến khi nó tải như thế này: https://codepen.io/pager/pen/MBgGGM

let checkonloadDoSomething = setInterval(() => {
  let onloadDoSomething = document.getElementById("onloadDoSomething");
  if (onloadDoSomething) {
    onloadDoSomething.innerHTML="Loaded"
    clearInterval(checkonloadDoSomething);
  } else {`enter code here`
    console.log("Waiting for onloadDoSomething to load");
  }
}, 100);

0

Đầu tiên để trả lời câu hỏi của bạn: Không, bạn không thể, không trực tiếp như bạn muốn làm như vậy. Có thể hơi muộn để trả lời, nhưng đây là giải pháp của tôi, không có jQuery, javascript thuần túy. Ban đầu nó được viết để áp dụng chức năng thay đổi kích thước cho textareas sau khi DOM được tải và trên keyup.

Tương tự như cách bạn có thể sử dụng nó để làm một cái gì đó với (tất cả) div hoặc chỉ một, nếu được chỉ định, như vậy:

document.addEventListener("DOMContentLoaded", function() {
    var divs = document.querySelectorAll('div'); // all divs
    var mydiv = document.getElementById('myDiv'); // only div#myDiv
    divs.forEach( div => {
        do_something_with_all_divs(div);
    });
    do_something_with_mydiv(mydiv);
});

Nếu bạn thực sự cần phải làm gì đó với div, được tải sau khi DOM được tải, ví dụ: sau cuộc gọi ajax, bạn có thể sử dụng một bản hack rất hữu ích, rất dễ hiểu bạn sẽ thấy nó ... hoạt động với- yếu tố-trước-the-dom-là-ready ... . Nó nói "trước khi DOM sẵn sàng" nhưng nó hoạt động rực rỡ theo cùng một cách, sau khi chèn ajax hoặc js-appendChild - bất cứ thứ gì của div. Đây là mã, với một số thay đổi nhỏ cho nhu cầu của tôi.

css

.loaded { // I use only class loaded instead of a nodename
    animation-name: nodeReady;
    animation-duration: 0.001s;
}

@keyframes nodeReady {  
    from { clip: rect(1px, auto, auto, auto); }
    to { clip: rect(0px, auto, auto, auto); }  
}

javascript

document.addEventListener("animationstart", function(event) {
    var e = event || window.event;
    if (e.animationName == "nodeReady") {
        e.target.classList.remove('loaded');
        do_something_else();
    }
}, false);

0

Khi bạn tải một số html từ máy chủ và chèn nó vào cây DOM, bạn có thể sử dụng DOMSubtreeModifiedtuy nhiên nó không được dùng nữa - vì vậy bạn có thể sử dụng MutationObserverhoặc chỉ phát hiện trực tiếp nội dung mới bên trong hàm loadE bổ sung, do đó bạn sẽ không cần phải chờ các sự kiện DOM


0

Bạn có thể đính kèm một người nghe sự kiện như dưới đây. Nó sẽ kích hoạt bất cứ khi nào div có bộ chọn #my-idtải hoàn toàn vào DOM.

$(document).on('EventName', '#my-id', function() {
 // do something
});

Trường hợp quốc tế EventName có thể là 'tải' hoặc 'nhấp'

https://api.jquery.com/on/#on-events-selector-data-handler


-1

Thay vào đó, hãy sử dụng sự kiện body.onload, thông qua thuộc tính ( <body onload="myFn()"> ...) hoặc bằng cách ràng buộc một sự kiện trong Javascript. Điều này cực kỳ phổ biến với jQuery :

$(document).ready(function() {
    doSomething($('#myDiv'));
});

javascript thuần túy và không jquery, kiểm tra thẻ;)
KingRider

-3

Thử cái này.

document.getElementById("div").onload = alert("This is a div.");
<div id="div">Hello World</div>

Hãy thử cái này quá. Bạn cần phải loại bỏ .từ oQuickReply.swap()để làm cho chức năng làm việc.

document.getElementById("div").onload = oQuickReplyswap();
function oQuickReplyswap() {
alert("Hello World");
}
<div id="div"></div>


Nó dường như hoạt động, nhưng nó chỉ đơn thuần, alert("This is a div.");được gọi khi dòng này được thực thi và kết quả (được undefined) được gán cho div.onload. Mà là hoàn toàn vô nghĩa.
Frederic Leitenberger

-4

Bạn không thể thêm sự kiện onload trên div, nhưng bạn có thể thêm sự kiện onkeydown và kích hoạt sự kiện onkeydown khi tải tài liệu

$(function ()
{
  $(".ccsdvCotentPS").trigger("onkeydown");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

<div  onkeydown="setCss( );"> </div>`

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.