离开textarea时按钮点击不点火

Bob*_*ent 5 html javascript css jquery angularjs

我目前正在制作一个自动扩展的textarea.这似乎工作正常,但是当textarea扩展时按钮点击似乎永远不会触发.我也在使用angularjs.这是我的代码

HTML:

<body >
    <div my-dir></div>
</body>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

var app = angular.module('myApp',[]);

app.directive('myDir', function(){
    return {
        restrict:'A',
        template:'<textarea id="textarea1">'+'</textarea>' + '<button ng-click="clicked()">Click me</button><textarea id="textarea2"></textarea>',
        link:function(scope){
            scope.clicked = function(){
                 alert("click worked");
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮我找到解决方法或解释为什么会发生这种情况,我将不胜感激.

链接到codepen:http://codepen.io/anon/pen/mJrjpP

ade*_*neo 4

当文本区域聚焦时,按钮会向下移动一点,当您单击按钮时,文本区域模糊事件首先触发,向上移动按钮,因此单击永远不会发生,因为按钮移动了。

解决方案是确保按钮保持不动,使用 CSS 定位,或者如下面 gyantasaurus 的评论中所述

<button ng-mousedown="clicked()">Click me</button>
Run Code Online (Sandbox Code Playgroud)

  • 或者只使用 ng-mousedown (2认同)