2012-07-11 34 views
6

Tôi đã điều sau đây:Jquery .Trên() không làm việc

<input type="submit" id="submit" value="Submit" /> 

Bên trong jQuery tôi đã có những điều sau đây:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#submit").on("click", function() { 
     alert('test'); 
    }); 
}); 
</script> 

này không hoạt động. Tôi đang sử dụng IE9.

Có ai biết phiên bản Jquery nào đang hỗ trợ .on() không?

+0

Bạn đang sử dụng phiên bản IE mới nhất? Ngoài ra, '# submit' được tạo động? –

+2

"Không hoạt động" nghĩa là gì? bạn đang nhận được bất kỳ lỗi nào? Bạn mong đợi điều gì sẽ xảy ra? – j08691

+0

Có thể là một câu hỏi ngớ ngẩn, nhưng bạn đang tải jQuery? Và nếu có, phiên bản nào? .on() có phần mới hơn. – naspinski

Trả lời

6

Sử dụng phiên bản này của on

$(function(){ 
    $(document).on("click","#submit", function (e) { 
    //e.preventDefault(); // if you want to prevent default form submission 
    alert('test'); 
    }); 
}); 
+3

tnx, nó đã được một cuộc sống tiết kiệm. IE thực sự nên DIE! – Nemke

+0

@Nemke: Bạn được chào đón. Mừng vì tôi có thể giúp. :) – Shyju

3

chắc chắn rằng bạn tải jQuery.js sau đó thử:

$("#submit").click(function(){ 
    alert("test"); 
}) 
1

Hãy thử sau chỉ thay thế:

$('#submit').bind('click', function() { 
    alert('Test'); 
}); 

HOẶC

$("#submit").click(function(){ 
    alert("Test"); 
}); 
+0

.live() cũng hoạt động (không được chấp nhận) – naspinski

1

IE không hoạt động tốt khi sử dụng tên 'đã đặt trước' làm ID của phần tử.

Xem fiddle này, mã của bạn hoạt động tốt nếu bạn thay đổi ID của đầu vào cho một cái gì đó khác với '#submit'

http://jsfiddle.net/6yAuz/3/

+0

'# submit' hoạt động tốt cho tôi trong IE9. http://jsfiddle.net/wS4xC/1/ –

+0

@Rocket - điều này cũng phù hợp với tôi !! Tôi nghĩ rằng tôi có thể đang ở trên một phiên bản cũ của Jquery. Phiên bản nào được hỗ trợ? –

+0

@NatePet: Phiên bản mới nhất của jQuery là 1.7.2. –

0

Hãy chắc chắn rằng các yếu tố 'submit' bạn đang đề cập đến thực tế tồn tại khi tải tài liệu. Nếu bạn đang tạo nó một cách năng động, hàm 'on' sẽ không có gì để liên kết nó với nó.

0

Tôi đã gặp phải điều này khi sử dụng IE9 ở chế độ tương thích. Lưu ý, tôi không gặp vấn đề gì khi sử dụng IE9 ở chế độ thông thường.

Tôi đã có thể thực hiện QA toàn diện hơn cho trang web tôi vừa mới khởi chạy (thời gian không cho phép thử nghiệm nhiều trình duyệt vượt ra ngoài sử dụng dịch vụ ảnh chụp màn hình). Thay đổi $ ("cái gì đó") trên ("click" ...) thành $ ("cái gì đó"). Click() cố định vấn đề.

+0

Vì vậy, về cơ bản giống như câu trả lời của [* mgraph *] (http://stackoverflow.com/a/11439239/1715579)? –

+0

Tôi đã đưa ra một ví dụ cụ thể về nơi nó không hoạt động, như cách khác hoạt động trong các trình duyệt hiện đại. – josh1978

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