我正在使用以下jQuery插件,即:
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()函数了?
发布于 2009-08-10 06:20:02
他们似乎还没有给出一个回调的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的函数,那么在执行了单击事件代码之后,您现在就可以处理单击事件了-
function clickCallback() {
//This is the function on your page. This will be called when you click the item.
}您不必调用clickCallback函数,如果定义了该函数,库本身将调用该函数。
发布于 2009-08-10 06:17:20
您可以定义自己的单击事件处理程序,并在那里停止事件的传播。
$('your selector').click(function (e) {
e.stopPropagation();
});https://stackoverflow.com/questions/1253327
复制相似问题