Khi nào được gọi so với người kia? Có một tình huống được onChange sẽ được gọi nhưng onBlur sẽ không được gọi?Sự khác nhau giữa thuộc tính onBlur và onChange trong HTML là gì?
Trả lời
Sự kiện onBlur
được kích hoạt khi bạn đã di chuyển ra khỏi một đối tượng mà không nhất thiết phải thay đổi giá trị của đối tượng.
Sự kiện onChange
chỉ được gọi khi bạn đã thay đổi giá trị của trường và mất tiêu điểm.
Bạn có thể muốn xem quirksmode's intro to events. Đây là một nơi tuyệt vời để có được thông tin về những gì đang xảy ra trong trình duyệt của bạn khi bạn tương tác với nó. Cuốn sách của ông cũng tốt.
onChange là khi một cái gì đó trong một lĩnh vực thay đổi ví dụ, bạn viết một cái gì đó trong một đầu vào văn bản.
onBlur là khi bạn lấy nét ra khỏi một ví dụ trường, bạn đang viết bằng kiểu nhập văn bản và bạn đã nhấp vào nó.
Vì vậy, thực sự chúng gần như giống nhau nhưng đối với onChange để hành xử theo cách trênBlur, có gì đó trong đầu vào đó cần phải thay đổi.
onBlur là khi tiêu điểm của bạn không còn trên trường được đề cập.
Thuộc tính onblur trả về mã xử lý sự kiện onBlur, nếu có, tồn tại trên phần tử hiện tại.
BậtThay đổi là khi giá trị của trường thay đổi.
Ví dụ để làm mọi thứ cụ thể. Nếu bạn có lựa chọn như vậy:
<select onchange="" onblur="">
<option>....
</select>
onblur()
được gọi khi bạn điều hướng. onchange()
được gọi khi bạn chọn một tùy chọn khác từ lựa chọn - tức là bạn thay đổi tùy chọn hiện được chọn.
Ví dụ khác: trong đầu vào loại 'số', nhấp vào mũi tên lên/xuống sẽ kích hoạt sự kiện thay đổi (nhưng không phải là sự kiện mờ) chỉ gây ra sự kiện thay đổi khi trường mất tiêu điểm. –
onblur kích hoạt khi một trường bị mất tiêu điểm, trong khi onchange kích hoạt khi giá trị của trường đó thay đổi. Những sự kiện này sẽ không phải lúc nào cũng xảy ra theo cùng một thứ tự.
Trong Firefox, tabbing ra khỏi một trường thay đổi sẽ kích hoạt onchange sau đó onblur, và nó thường sẽ làm như vậy trong IE. Tuy nhiên, nếu bạn nhấn phím enter thay vì tab, trong Firefox nó sẽ bật onblur sau đó onchange, trong khi IE thường sẽ cháy theo thứ tự ban đầu. Tuy nhiên, tôi đã nhìn thấy trường hợp IE cũng sẽ làm mờ đầu tiên, vì vậy hãy cẩn thận. Bạn không thể giả định rằng onblur hoặc onchange sẽ xảy ra trước cái kia.
Trong Firefox, onchange chỉ kích hoạt khi bạn nhấn tab hoặc người nào khác nhấp vào bên ngoài trường nhập. Điều này cũng đúng với Onblur. Sự khác biệt là onblur sẽ kích hoạt cho dù bạn đã thay đổi bất cứ điều gì trong lĩnh vực này hay không. Có thể là ENTER sẽ kích hoạt một hoặc cả hai, nhưng bạn sẽ không biết rằng nếu bạn vô hiệu hóa ENTER trong biểu mẫu của bạn để ngăn chặn các đệ trình không mong muốn.
Tôi nghĩ điều quan trọng cần lưu ý ở đây là onBlur() kích hoạt bất kể.
Đây là một chuỗi hữu ích nhưng điều duy nhất nó không làm rõ là onBlur() sẽ kích hoạt mỗi lần.
onChange() sẽ chỉ kích hoạt khi giá trị được thay đổi.
- 1. Sự khác nhau giữa XHTML và HTML là gì?
- 2. Sự khác nhau giữa html [lang = "en"] và html: lang (en) trong CSS là gì?
- 3. Sự khác nhau giữa việc sử dụng onclick của jQuery và thuộc tính onclick là gì?
- 4. Sự khác nhau giữa Phương pháp và Thuộc tính trong Ruby là gì?
- 5. Sự khác nhau giữa các thuộc tính CurrentCulture và CurrentUICulture của CultureInfo trong .NET là gì?
- 6. Sự khác nhau giữa Thuộc tính Điều hướng và Hiệp hội trong EF là gì?
- 7. Sự khác nhau giữa thuộc tính và hàm được tham số trong vb.net là gì?
- 8. Sự khác nhau giữa angularjs và dust.js là gì?
- 9. Sự khác nhau giữa sysfs_create_file() và sysfs_create_group() là gì?
- 10. Sự khác nhau giữa phương thức NavigationService.Navigate() và thuộc tính PhoneApplicationFrame.Source là gì?
- 11. Sự khác nhau giữa Array.GetLength() và Array.Length là gì?
- 12. Sự khác nhau giữa Hashtable và Properties là gì?
- 13. Sự khác nhau giữa một thuộc tính và một biến cá thể là gì?
- 14. Sự khác nhau giữa JavaScript Array và Object ngoại trừ thuộc tính .length là gì?
- 15. Sự khác nhau giữa NSKeyValueObservingOptionNew và NSKeyValueObservingOptionOld là gì?
- 16. Sự khác nhau giữa [AcceptVerbs (HttpVerbs.Post)] và [HttpPost] là gì?
- 17. Sự khác nhau giữa "bool" và "bool" là gì?
- 18. Sự khác nhau giữa document.getElementById ('mybox') và mybox là gì?
- 19. Sự khác nhau giữa AssemblyVersion, AssemblyFileVersion và AssemblyInformationalVersion là gì?
- 20. sự khác biệt giữa thuộc tính ghi đè và thuộc tính gán nonatomic là gì?
- 21. Sự khác nhau giữa kho lưu trữ và sự phụ thuộc trong Maven là gì?
- 22. Sự khác nhau giữa isSaleable() và isAvailable() là gì?
- 23. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 24. Sự khác nhau giữa == và = trong Prolog là gì?
- 25. Sự khác nhau giữa // và /// trong Visual Studio là gì?
- 26. Sự khác nhau giữa: = và + = trong tạo tệp là gì?
- 27. Sự khác nhau giữa * và. * Trong MATLAB là gì?
- 28. Sự khác nhau giữa $ @ và $ * trong UNIX là gì?
- 29. Sự khác nhau giữa: = và = trong MySQL là gì?
- 30. Sự khác nhau giữa "||" là gì và "hoặc" trong Perl?
liên kết của bạn về quirksmode không nói về mờ, chỉ là sự kiện cơ bản – stackdave