StackOverflow的新手,是JavaScript / jQuery的新手。我一直在尝试开发一个包含矢量地图的网站(使用Raphael插件),当点击地图的某个特定区域时,我希望它使用Colorbox插件打开一个Lightbox。我有Raphael和Colorbox插件单独工作(我已经为Raphael工作了悬停功能,并且我点击了常规链接后Colorbox工作)。但是,我不确定当它是一个被点击的Raphael元素时如何让Colorbox工作。
这是因为我认为我需要在Raphael元素中添加“inline”类,但是我的.click函数只能获取一个url(我不能添加一个类)。
道歉,如果这个问题没有多大意义,我现在已经圈了几个小时了。
当前.click功能。 locs是一个独立文档中的Raphael对象数组。 locarr是一个包含for循环的这些对象的数组。 id和url是Raphael对象的元素。
.click(function(){
location.href = locs[locarr[this.id]].url
})
Colorbox使用普通链接,如下所示。但我无法想出一种方法将类添加到我的.click函数中。我已经尝试了各种版本的.addClass和类似的但没有成功。
<a href="#link" class="inline">LINK</a>
我认为我的问题是因为HTML中不存在Raphael对象(该URL直接来自JavaScript文档。
如果这没有意义,请再次抱歉。感谢。
答案 0 :(得分:0)
不要假装尝试完全理解你想要的东西,所以我要离开现在的头衔。如果是这种情况,并且您想要为一个或另一种样式目的添加一个类,并且您希望它在单击链接时执行此操作,您可以尝试...
$('.inline').click(function(e)
{
e.preventDefault();//stops the mouse click from triggering a normal click event
$(this).addClass('className');//adds a defined class from your stylesheet
//$(this).css({"color":"#FF0"});//changes the style properties without a class
});
因为你在评论中说你的JS正在生成链接。你可以试试..
$('body').delegate('click', '.inline', function(e)
{
e.preventDefault();//stops the mouse click from triggering a normal click event
$(this).addClass('className');//adds a defined class from your stylesheet
//$(this).css({"color":"#FF0"});//changes the style properties without a class
});
或者你可以尝试
$('.inline').live('click', function(e)
{
e.preventDefault();//stops the mouse click from triggering a normal click event
$(this).addClass('className');//adds a defined class from your stylesheet
//$(this).css({"color":"#FF0"});//changes the style properties without a class
});