Tôi có các sự kiện để 'gửi' trên biểu mẫu. Trong IE8, nếu tôi gửi biểu mẫu mà không cần nhập bất kỳ thông tin nào, chỉ cần nhấp vào nút gửi, nó sẽ gửi biểu mẫu và không bao giờ bị bắt hoặc xử lý bởi sự kiện được xác định trong Backbone. Tuy nhiên, nếu tôi chỉ cần nhấp vào trường nhập, sau đó nhấn gửi sự kiện được xử lý.Sự kiện Backbone.js không được nhận dạng trong IE8
Sự kiện xương sống được thiết lập như thế này:
events: {
'submit #form': 'submitForm',
},
submitForm: function(e){
e.preventDefault();
}
ý tưởng Bất kỳ lý do tại sao này sẽ là gì?
Cập nhật: Dưới đây là một ví dụ về hình thức:
<div id="form">
<form action="/action" method="post">
<input type="text" name="name" />
<button type="submit" value="Submit"></button>
</form>
</div>
Đó là nghĩa đen chỉ trong IE8 và ONLY nếu bạn không đầu nhấp một yếu tố trong biểu mẫu, trước khi nộp. Sự kiện này được kích hoạt trong FF, Chrome, IE9 + mà không có vấn đề gì. Nhưng chỉ trong IE8, nếu bạn chỉ cần nhấp vào gửi, mà không làm bất cứ điều gì khác, sự kiện này không được kích hoạt.
là nút gửi này hay chỉ là một nút?nút gửi không gửi bài đăng đến thuộc tính hành động biểu mẫu. Cũng là '# form' bên trong' this. $ El' trong view? làm điều này bên trong phương thức render 'console.log (điều này. $ el.find (" # form "))' kiểm tra giao diện điều khiển có đối tượng jquery đã đăng nhập – Deeptechtons
Vâng - chúng ta cần thêm thông tin, giống như HTML mà khung nhìn đại diện cho – Stephen
Bạn cũng có thể cần thêm 'e.stopPropagation();'. – ebohlman