【发布时间】:2013-12-21 18:19:30
【问题描述】:
我正在尝试使用 angularJS 创建一个类似于谷歌日历的日历,但我遇到了问题。我在屏幕上添加了事件,我的 html 看起来像这样
<ul drop-event id="0">
<li move-event></li>
</ul>
<ul drop-event id="1">
<li move-event></li>
</ul>
.. 以此类推 42 个框显示 1 个月。我创建了一个指令drop-event,我希望它可以作为droppable工作,并且当你将鼠标悬停在它上面时,可以从<ul>的id获取id。到目前为止,我是这样做的
myApp.directive('dropEvent', function() {
return {
restrict: 'A',
link: function(scope, elem, attr) {
elem.bind('mouseenter', function() {
scope.theHover = elem.attr("id");
});
elem.droppable({ tolerance: "pointer" });
elem.bind('drop', function(event, ui) {
// future stuff
});
}
};
});
但问题是当我尝试在指令中使用scope.theHover = elem.attr("id"); 更改它时,theHover 变量不会更改为控制器。
我遇到的第二个问题是,如果我将鼠标悬停在 <li> 上,它是 <ul> 的孩子,mouseenter 不会传播到 <ul>。
有没有办法让它传播到父级,有没有办法将 theHover 从指令更改为控制器?
提前谢谢你,丹尼尔!
【问题讨论】:
标签: javascript jquery html angularjs