有人可以解释为什么this.rel正在回馈undefined以及正则表达式应该做什么。 如果this.rel未定义,则正则表达式也不会正常工作并导致某种错误,因为下面的警报不会触发?
$.fn.facebox= function(settings) {
init(settings)
function clickHandler() {
$.facebox.loading(true)
alert($(this).attr('rel'));
//alert(String(this.rel));
// support for rel="facebox.inline_popup" syntax, to add a class
// also supports deprecated "facebox[.inline_popup]" syntax
var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)
alert(klass);
alert('ppp');
// if (klass) klass = klass[1]
//fillfaceboxFromHref(this.href, klass)
return false
}
return this.click(clickHandler)
}
谢谢,理查德
答案 0 :(得分:1)
jQuery-Object有很多属性,其中一个是带有找到元素的数组。
您必须遍历此数组并将事件绑定到这些单个元素:
jQuery.fn.extend({
facebox: function()
{
//here this is a jQuery-object
function clickHandler()
{
//here this is a DOMElement
alert($(this).attr('rel'));
return false
}
return this.each(function() {
var self = jQuery(this);
self.click(clickHandler)
});
}});