我有一个outerItems列表。在每个outerItem中,我有一个innerItems列表。它们是动态分类的。如何在AngularJS控制器中获取当前作用域DOM元素?
当鼠标光标指向innerItems之一时,我必须在innerItem元素上方显示弹出窗口。
Popup div是身体的孩子,因为我不想为每个innerItems单独弹出。
我看到它的方式 - 在ng-mouseover
我调用函数,设置左/顶部属性到我绝对定位的弹出。因此,对于每个innerItems,我想调用jQuery .offset()
方法,该方法使页面左上角的左/顶部值。
那么我怎样才能获得当前范围元素的jQuery对象?或者,如果我选择了错误的方式
你选择了错误的方式。不要在控制器中访问$元素。您需要将其封装为Popup指令,然后将弹出窗口放入HTML中。 – ganaraj
为什么访问控制器中的$元素是错误的? –
它违背了角度的无控制操纵的口头禅。保持代码解耦,允许更简单的测试,并保持所有dom操作代码的声明和模板。 这就是说,有时你需要的元素。例如,浏览器自动完成字段填充输入,但不会触发ng_model更新。在这些情况下,你需要输入$(el).val()。 – hurshagrawal