0

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

- 加载时显示按钮

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

-当用户输入文本框时显示明文图标

- 单击图标时清除文本并重新关注文本框

-当用户点击远离文本框和清除文本图标时最小化文本框并显示按钮

这是我到目前为止所拥有的:http: //jsfiddle.net/Z6RzD/161/

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

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

$scope.clickElem;

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

有想法该怎么解决这个吗?我很感激任何帮助。

4

2 回答 2

1

如果您可以使用 HTML5,您可以免费替换<input type="text"><input type="search">并获得清晰的行为。这是你的jsFiddle修改来做到这一点。

于 2013-08-27T17:02:30.210 回答
0

尝试这个..

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

那应该最定义。不返回未定义。

于 2013-08-27T16:34:39.513 回答