2012-07-02 3 views
5

Tôi đang cố gắng tìm ra cách tôi có thể đặt đối số cho các sự kiện tùy chỉnh. Cách tôi có thể đặt đối số khi tôi đăng ký sự kiện và sau đó thêm một số dữ liệu bổ sung khi tôi kích hoạt sự kiện.Dữ liệu sự kiện tùy chỉnh jQuery (đăng ký và kích hoạt)

Tôi có một JS đơn giản để thử nghiệm, nhưng trong tham số e của "xử lý" tôi chỉ thấy dữ liệu đăng ký.

function handle(e) { 
    //e.data has only "b" 
    alert(e.data); 
} 

function myObj() { 
    this.raise = function() { 
      //Trigger 
     $(this).trigger("custom", { a: "a" }); 
    } 
} 

var inst = new myObj(); 
//Subscribe 
$(inst).bind("custom", { b: "b" }, handle); 
inst.raise(); 

Cảm ơn bạn.

+0

Chỉ cần gợi ý. Thông báo ở đây sẽ cung cấp cho bạn '' '[đối tượng Object] cũng [đối tượng Object]' ''. Sử dụng '' 'console.log (e.data, 'also', triggerParam)' '' sẽ hiển thị cho bạn các đối tượng thực tế trong bảng điều khiển trình duyệt của bạn; – PHearst

Trả lời

5

Các tham số được cung cấp cho .trigger() được chuyển làm tham số thứ hai của hàm xử lý sự kiện.

function handle(e, triggerParam) { 
    //e.data has only "b" 
    alert(e.data + ' also ' + triggerParam); 
} 
+0

Ah cảm ơn :) Tôi đã bỏ lỡ trong hướng dẫn jQuery ... Cảm ơn một lần nữa :) –