Với đối số jQuery 1.9.1 không được chuyển từ trình kích hoạt đến trình xử lý nhấp chuột, như ở đó với jquery 1.7.2 chúng được truyền đi một cách độc đáo.jquery 1.9.1 .trigger() không chuyển đối số đến trình xử lý nhấp chuột
Một ví dụ để chứng minh:
<!doctype html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<!--script src="http://code.jquery.com/jquery-1.7.2.min.js"></script-->
</head>
<body>
<input id="test" type="checkbox">
<button id='trigger'>trigger</button>
</body>
<script>
$('#test').bind('click',
function (e, data){
if (typeof data == 'undefined') {
alert('no data passed');
return;
}
alert('first passed=' + data.passed1 + ' second passed='+data.passed2);
});
$('#trigger').click(
function (e){
$('#test').trigger('click',{passed1:'first',passed2:'second'});
});
</script>
</html>
Khi tôi sử dụng jquery-1.7.2.js nó vẫn hoạt động tốt.
Tôi đang thiếu gì? Làm ơn giúp tôi.
Tại sao bạn đóng 'body' trước' script'? – kapa
Không có cú pháp nào dường như hoạt động sau khi thử nghiệm, có vẻ như một lỗi. –
Trông giống như một lỗi lạ. http://jsfiddle.net/xHVDx/1/ – kapa