function bubble(content, triggerElm){
this.element = $('<div class="bubble" />').html(content);
this.element.css(.....) // here is positioned based on triggerElm
}
bubble.prototype.show = function(){
$(document).on('click', this._click.bind(this));
this.element.css(....)
};
bubble.prototype.hide = function(){
$(document).off('click', this._click.bind(this));
this.element.css(....)
};
bubble.prototype._click = function(event){
console.log('click', this);
if(this.element.is(event.target) || (this.element.has(event.target).length > 0))
return true;
this.hide();
};
var b = new bubble();
b.show();
b.hide();
Tôi tiếp tục thấy nhấp chuột trong bảng điều khiển, do đó, nhấp chuột không hủy liên kết. Nhưng nếu tôi loại bỏ ràng buộc() gọi nhấp chuột là unbinded. Có ai biết tại sao không? Tôi cần một cách để có thể thay đổi "này" trong chức năng thử nghiệm của tôi, đó là lý do tại sao tôi đang sử dụng bind()jQuery off() không phải là sự kiện không liên kết khi sử dụng liên kết
nhưng tôi không thể truy cập vào "này" Ví dụ bên trong click – Elfy
@Elfy Vâng, đó là sự thật. Mày cần nó để làm gì? – JLRishe
Vâng, tôi cần phải có thể biết liệu nhấp chuột có nằm ngoài phần tử bong bóng hay không và đó là một phần của cá thể. Về cơ bản bên trong hàm click Im kiểm tra nếu e.target là this.element hoặc bên trong nó – Elfy