我有一个包含一些数据的折线图,我的最终目标是如果单击一个点,则转到相应的页面。
这是我的页面:https://gyazo.com/0a7ace53799f3b72253789a934dd6634
这是我的html标记:
<linechart id="chart"
data="data"
options="options"
mode=""
width=""
height="500" ng-init="onInit()">
</linechart>
当我尝试通过以下方式选择点时:
var dot = $('.dot');
console.log(dot);
dot.on('click',function(){
console.log('test');
});
它似乎找不到。即使已加载页面的html在圆标记中的类名称为“点”,也包含点。
像这样:https://gyazo.com/a74d279bbf9acbd8f7a61f9eb9b21164。
最佳答案
您正在通过指令在DOM中构建元素之前注册'click'事件。
您应该检查元素是否存在,并且仅在该点击事件注册之后才检查。
您可以使用setInterval函数执行此操作:
var checker = setInterval(checkDot, 50)
function checkDot(){
if($('.dot').length > 0){
clearInterval(checker);
$('.dot').on('click', yourFunction);
}
}
无论如何,在Angular应用程序中使用jQuery事件不是最佳解决方案。
我会尝试在此“ linechart”指令的文档中找到点击事件功能。如果没有,您可以尝试通过添加
ng-src
或ng-click
甚至只是href
属性来修改指令模板关于javascript - 单击jQuery时的折线图不起作用angularjs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36600279/