如何在指令中停止输入模糊

时间:2013-08-27 16:31:03

标签: javascript jquery angularjs

我有一个应该具有以下功能的自定义指令:

- 加载时显示按钮

- 单击按钮时显示输入框和展开框

- 当用户在文本框中输入

时显示明文图标

- 单击图标并在文本框上重新聚焦时的明文(

) 当用户点击文本框并清除文本图标

时,

- 最小化文本框并显示按钮

以下是我到目前为止的内容:http://jsfiddle.net/Z6RzD/161/

我的问题是,当用户点击清除图标时,会触发文本框的模糊功能,并且框失去焦点。

我尝试在控制器中创建一个范围变量,让我知道哪个元素已被点击。然后我尝试在我的指令的模糊函数中共享这个变量,但它未定义。

$scope.clickElem;

$document.bind('click',function(e){
    $scope.clickElem = e.target;
    $scope.$apply();
    console.log($scope.clickElem);
});

有关如何解决此问题的任何想法?我感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

如果您可以使用HTML5,则只需将<input type="text">替换为<input type="search">即可免费获得明确的行为。这是你的jsFiddle修改过的。

答案 1 :(得分:0)

试试这个..

var scope;
$('ELEMENT').click(function(e){
scope = e.target;
});

应该是大多数def。不归不定。