我有一个应该具有以下功能的自定义指令:
- 加载时显示按钮
- 单击按钮时显示输入框和展开框
- 当用户在文本框中输入
时显示明文图标- 单击图标并在文本框上重新聚焦时的明文(
) 当用户点击文本框并清除文本图标时,- 最小化文本框并显示按钮
以下是我到目前为止的内容:http://jsfiddle.net/Z6RzD/161/
我的问题是,当用户点击清除图标时,会触发文本框的模糊功能,并且框失去焦点。
我尝试在控制器中创建一个范围变量,让我知道哪个元素已被点击。然后我尝试在我的指令的模糊函数中共享这个变量,但它未定义。
$scope.clickElem;
$document.bind('click',function(e){
$scope.clickElem = e.target;
$scope.$apply();
console.log($scope.clickElem);
});
有关如何解决此问题的任何想法?我感谢任何帮助。
答案 0 :(得分:1)
如果您可以使用HTML5,则只需将<input type="text">
替换为<input type="search">
即可免费获得明确的行为。这是你的jsFiddle修改过的。
答案 1 :(得分:0)
试试这个..
var scope;
$('ELEMENT').click(function(e){
scope = e.target;
});
应该是大多数def。不归不定。