如何添加元素并将事件绑定到它?

时间:2014-03-10 09:03:15

标签: angularjs events angularjs-directive dom-manipulation

我想制作一个resize-directive。因此,我想创建一个新元素(resizer)并将事件绑定到它,但在我的代码中,事件绑定到指令rootElement:

elm.append('<div class="iwResizable__resizer"></div>').bind('mousedown', function ($event) {
                        startW = elm.prop('offsetWidth');
                        startH = elm.prop('offsetHeight');
                        initialMouseX = $event.clientX;
                        initialMouseY = $event.clientY;
                        $document.bind('mousemove', mousemove);
                        $document.bind('mouseup', mouseup);
                        $event.preventDefault();
                });

如何将mousedown-event绑定到我的新div?

这是Plunker

1 个答案:

答案 0 :(得分:3)

如果你没有使用jQuery(你似乎没有),你应该在不同的语句中进行实例化/绑定和追加:

var resizer = angular.element('<div class="myResizable__resizer"></div>')
                     .bind('mousedown', function ($event) {...});
elm.append(resizer);

如果你使用的是jQuery,你可以在JQLite中使用 appendTo() 功能( not implemented ),你可以这样做这样:

$('<div class="myResizable__resizer"></div>').appendTo(elm).bind(...);