Я редактирую некоторых пользователей с помощью Angularjs xeditable. Я хочу, чтобы текст выделялся, когда я нажимаю на редактируемый элемент. Кажется, я знаю, как написать директиву:
UserManager.directive('selectWhenEditing',function(){
var linkFunction = function(scope,element,attributes)
{
console.log(element.find('span'));
console.log(element.find('.editable'));
element.find('.editable').on('click',function(){
element.find('.editable-input').select();
console.log("launched");
});
};
return{
restrict: 'A',
link:linkFunction
};}
);
Это мой вызывающий элемент:
<td data-select-when-editing="">
<span class="ng-scope ng-binding editable editable-click" onbeforesave="checkUsername($data,user)" editable-text="user.username"> Name </span>
</td>
Похоже, что метод find() не находит класс «редактируемый» (но, например, находит диапазон). Хотя, как вы можете видеть в моем html-коде, редактируемый класс применяется к диапазону, поэтому он должен быть найден с помощью find().