2010-10-30 31 views
5

HTML5 cung cấp cho chúng tôi một số yếu tố đầu vào mới để phát, chẳng hạn như <input type=number>. Điều này hiển thị (trong Chrome) dưới dạng hộp văn bản có hai nút chu kỳ bên trong hộp văn bản, để tăng và giảm giá trị số bên trong hộp.Sự kiện để phát hiện thay đổi kiểm soát số HTML5 trong Webkit/Chrome?

Đối với dự án sở thích cá nhân, tôi đang sử dụng điều khiển này. Tuy nhiên, tôi bị kẹt với một vấn đề:

Có cách nào để phát hiện giá trị đang được thay đổi bằng sự kiện javascript không? Tôi đã mong đợi sự kiện onChange để kích hoạt, nhưng không có may mắn như vậy. Ngoài ra, onClick chỉ kích hoạt khi nội dung hộp văn bản được nhấp vào, không phải khi các nút chu kỳ được nhấp.

Bất kỳ ý tưởng nào? (ngoài: hey, đó là Biểu mẫu HTML5, không mong đợi bất cứ điều gì để làm việc được nêu ra!)

Chỉnh sửa: Chỉnh sửa: mikerobi chỉ ra bên dưới, sự kiện onChange sẽ kích hoạt ngay khi phần tử mất tiêu điểm. Vẫn không hoàn toàn những gì tôi đang tìm kiếm, vì vậy các ý kiến ​​và đề xuất khác được hoan nghênh!

Trả lời

6

Kết quả của báo cáo lỗi: Sẽ không khắc phục, vì sự kiện input được kích hoạt khi các nút đó được nhấn. Đó là một phần của thông số HTML5. Vì vậy, vấn đề được giải quyết, nhờ sugestion của mikerobi để nộp báo cáo.

+1

Tính năng này có phù hợp với bạn trong Safari không? Tôi đang sử dụng Safari 5.0.3 (mac) và sự kiện đầu vào chỉ được kích hoạt khi tôi thay đổi số trong hộp văn bản, không phải khi tôi nhấp vào các nút đó. – expora

+0

Safari v5.0.4 không kích hoạt sự kiện 'thay đổi' ngay cả khi bạn làm mờ đầu vào và không kích hoạt sự kiện' đầu vào' khi nhấp vào trình quay. Dường như là một lỗi Safari xung quanh với ''. – Phrogz

+0

Lưu ý, tuy nhiên, hành vi đó là chính xác trong các bản dựng đêm mới nhất của WebKit, do đó, việc sửa lỗi này sẽ được đưa vào Safari. – Phrogz

2

Sự kiện onChange bị kích hoạt khi hộp bị mất tiêu điểm, nhưng có thể bạn đã biết điều đó.

HTML5 chỉ định đầu vào số phải là hộp văn bản hoặc điều khiển spinner, nhưng thông số này dường như không có bất kỳ hướng dẫn nào về cách spinner trông như thế nào hoặc hành xử, để lại các quyết định đó cho nhà cung cấp trình duyệt.

Dường như trong Mac Safari, các nút xoay phản hồi các sự kiện nhấp chuột, bạn có thể muốn gửi báo cáo lỗi Chrome, tôi nghi ngờ đó chỉ là sự giám sát.

+0

Xin chào Mikerobi - vâng, nên có thêm rằng tôi đã tìm thấy điều thay đổi trên nền mờ đã .. cảm ơn vì đã đề cập đến nó. Tôi sẽ gửi báo cáo lỗi đó, cảm ơn! – kander

+0

Bạn đang sử dụng Safari nào? Mỏ (5.0.2 trên Windows) không hỗ trợ loại số nào cả và hiển thị dưới dạng hộp văn bản thuần túy:/ – kander

+0

@Kander, 5.0.2 trên máy Mac. – mikerobi

2

$ .click() hoạt động tốt. Nếu bạn bấm và giữ, nó không cho đến khi bạn phát hành.

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