2012-02-20 12 views
8

HTML5 "oninput" Sự kiện này được hỗ trợ bởi một số trình duyệt hiện đại, bao gồm Firefox 3.xthiết oninput kiện với Javascript

Tuy nhiên, kỳ lạ, nó dường như chỉ để làm việc với javascript inline:

<input id = "q" oninput="alert('blah')"> 

Khi tôi cố gắng thiết lập nó bằng cách sử dụng mã javascript, nó không cháy.

var q = document.getElementById("q"); 
q.oninput = function(){alert("blah");}; 

Đây có phải là lỗi trong Firefox hay có lý do nào đó xảy ra không?

+0

Điều này dường như là lỗi trong các phiên bản cũ hơn của FF vì nó hoạt động với tôi trong phiên bản hiện tại của cả Chrome và FF. http://jsfiddle.net/mrtsherman/c5ywv/ – mrtsherman

Trả lời

11

Sau khi tải xuống FireFox v3.6.27 và thực hiện một số kiểm tra và tìm kiếm. Tôi thấy câu trả lời trước của tôi là sai.

Những gì tôi nhận được là:

thuộc tính sự kiện oninput được hỗ trợ trong Firefox từ phiên bản 4.

Vì vậy, để thêm một người biết lắng nghe sự kiện trong trường hợp này, bạn có thể làm một trong hai

<input id = "q" oninput="alert('blah')"> 

hoặc

q.addEventListener('input', function(){alert("blah");}, true); 

Nhưng tôi thích cách sau. Bạn có thể tìm thấy lý do trong số addEventListener.
Cũng có chức năng tương tự trong IE attachEvent.

Các vấn đề liên quan