Nhìn vào mã của bạn, đi qua của bạn trong một đối tượng jQuery, rodd
, vào một hàm trả về một đối tượng jQuery $(rodd).click...
Nó có thể được dễ dàng hơn để làm
$('#checkBox').click(Callme);
function Callme(rodd){
if(this.checked){
// do some behavior
}
}
hoặc
$('#checkBox').click(Callme);
function Callme(rodd){
if($(this).is(':checked')){
// do some behavior
}
}
điều này cũng không sử dụng trình xử lý sự kiện chức năng ẩn danh chỉ thực hiện Callme()
truyền trong mục tiêu sự kiện. Working Demo tại đây.
EDIT:
Hiện nay, Callme(rodd)
trên hy vọng một HTMLElement object
để được thông qua tại Nếu bạn muốn để có thể vượt qua trong một đối tượng jQuery, chỉ cần thay đổi này
$('#checkBox').click(function(event) {
Callme($(event.target));
});
function Callme(rodd){
if(rodd.is(':checked')){
alert('checked');
}
}
mặc dù cá nhân. , Tôi sẽ giữ nó như một phần tử được truyền vào và thực hiện gói trong hàm Callme
. bạn có thể muốn xem xét tiền tố tham số rodd
với $
để làm cho nó rõ ràng là một đối tượng jQuery được mong đợi.
Nguồn
2009-09-25 10:28:12
Tùy chọn thứ hai của bạn đã hướng dẫn tôi đi đúng hướng. Tôi đã thử 'this.css (" cursor "," pointer ");' nhưng cần thiết để bọc 'this' trong bộ chọn jQuery trước,' $ (this) .css ("css", "pointer"); '. – GibralterTop