我试图找出我的点击是否在一个特定的图表上。我不能使用图表上的单击事件,因为该区域在标题中,而不是图表本身,而且高海图不支持在绘图区域以外的任何内容上单击事件。
$(document).mouseup(function(event) {
var clickedElement = event.target;
if (clickedElement == "chart_1")
console.log('yes');
console.log(clickedElement);
});我将event.target保存在一个变量中;然后我想检查我单击的是否是一个特定的图表(我在同一个页面上有多个图表,每个图表在其div中)。
这就是我作为console.log的输出所得到的;当我单击一个高级图表时:
<rect x="0" y="0" width="880" height="150" strokeWidth="0" rx="15" ry="15" fill="url(#highcharts-2)" class=" highcharts-background"></rect>我想检查填充,看看我点击哪个图表,然后触发一个事件。
我尝试按字符串进行搜索,但失败了,因为从event.target返回的对象是DOM (据我所知,我只是从这个开始);那么如何访问变量中的值并比较它们,以便为类或填充查找特定的值?
编辑:
谢谢阿德尼欧!有效的解决方案是使用.getAttribute的解决方案。这将返回“是”,当我单击填在“url”(#High曲线图-2)的图表时,将返回“是”。
$(document).mouseup(function(event) {
var clickedElement = event.target;
if (clickedElement.getAttribute('fill') == "url(#highcharts-2)")
console.log('yes');
});当我尝试的时候,其他的都不起作用,比较总是失败的,这是唯一有效的方法。再次感谢
发布于 2014-08-07 04:17:36
您可以使用getAttribute
clickedElement.getAttribute('fill')发布于 2014-08-07 03:24:54
只需将其包装在jQuery中,并使用prop()获取属性:
$(clickedElement).prop("fill")发布于 2014-08-07 03:53:51
如果使用< jquery 1.6,请使用
$(clickedElement).attr("fill")其他明智的jQuery版本> jQuery 1.6使用
$(clickedElement).prop("fill")https://stackoverflow.com/questions/25173559
复制相似问题