Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用纯AngularJS替换jQuery MouseeEvent_Jquery_Angularjs_Jqlite - Fatal编程技术网

用纯AngularJS替换jQuery MouseeEvent

用纯AngularJS替换jQuery MouseeEvent,jquery,angularjs,jqlite,Jquery,Angularjs,Jqlite,目前,我在链接函数中的Angular指令中包含以下代码: 此指令在dom的顶层插入 $(document).on("mousedown", ".resizer", function (e) { e.preventDefault(); resizing = true; frame = $(e.target).parent(); }); $(document).mousemove(function (e) { } 我想放弃jQuery,使用纯Angular 用Angula

目前,我在链接函数中的Angular指令中包含以下代码: 此指令在dom的顶层插入

$(document).on("mousedown", ".resizer", function (e) {
    e.preventDefault();
    resizing = true;
    frame = $(e.target).parent();
});

$(document).mousemove(function (e) {
}
我想放弃jQuery,使用纯Angular

用Angular替换上述代码的正确方法是什么。 在带有class.resizer的元素中使用Angular指令ng mousedown并将事件广播到我的顶级指令有意义吗

在这方面有更好的方法吗

非常感谢。

我们开始:

.controller('controllerFromDirective_resizeWidget', function ($scope) {
    this.mouseDownResizer = function (e) {
    };
});

.directive('mouseDownOnElement', function () {
    return {
        require: '^resizeWidget',
        link: function (scope, element, attr, controller) {
            element.on("mousedown", function (e) {
                e.preventDefault();
                controller.mouseDownResizer(e);
            });
        }
    };
});
我认为这是解决这个问题的好办法。也许还有更好的解决办法?
谢谢。

广播是一种不好的方法,但是require似乎起到了神奇的作用。我会尝试一下,稍后再发布。