绕过jQuery插件的OnClick功能
问题描述:
我使用下面的jQuery插件,即:绕过jQuery插件的OnClick功能
http://flowplayer.org/tools/scrollable.html
我有但问题是,当调用API的一部分,它似乎让我们在插件js文件中的onClick()
函数。
其实我是想用onClick
功能为您的正常的JavaScript onClick()
功能,但我不能,因为它似乎是用下面的代码覆盖:
// assign onClick events to existing entries
} else {
// find a entries first -> syntaxically correct
var els = nav.children();
els.each(function(i) {
var item = $(this);
item.attr("href", i);
if (i === 0) { item.addClass(conf.activeClass); }
item.click(function() {
nav.find("." + conf.activeClass).removeClass(conf.activeClass);
item.addClass(conf.activeClass);
self.setPage(item.attr("href"));
});
});
}
});
// item.click()
if (conf.clickable) {
self.getItems().each(function(index, arg) {
var el = $(this);
if (!el.data("set")) {
el.bind("click.scrollable", function() {
self.click(index);
});
el.data("set", true);
}
});
}
反正有绕过这个的,所以我可以使用独立的onClick()
函数?
答
看起来他们还没有给出callback
函数来回叫。您可以修改自己的JS代码要做到这一点 -
item.click(function() {
nav.find("." + conf.activeClass).removeClass(conf.activeClass);
item.addClass(conf.activeClass);
self.setPage(item.attr("href"));
if(typeof(clickCallback) != "undefined") clickCallback();
});
所以,如果你有一个名为clickCallback
在页面上定义的函数,你现在就可以自己点击事件代码执行后处理click事件 -
function clickCallback() {
//This is the function on your page. This will be called when you click the item.
}
您不必调用clickCallback
功能,图书馆将自身调用该函数如果它的定义。
答
您可以定义自己的点击事件处理程序并停止在那里传播事件。
$('your selector').click(function (e) {
e.stopPropagation();
});
我已经用代码更新了我的答案。你可以检查出来。 – Kirtan 2009-08-10 14:02:07
是的。它的'removeitem'功能。 – Kirtan 2009-08-11 04:23:08