html5 - Strange angular data binding in contenteditable element -



html5 - Strange angular data binding in contenteditable element -

with markup:

<body ng-app="app" ng-controller="ctrl"> <h1>type below in editable div</h1> <h3>use ng-bind:</3> <div class="editable" contenteditable=true obj="obj1" ng-bind="obj1.content"></div> <h3>content:</h3> <div>{{obj1.content}}</div> <h3>use interpolation</h3> <div class="editable" contenteditable=true obj="obj2">{{obj2.content}}</div> <h3>content:</h3> <div>{{obj2.content}}</div> </body>

and little bit js:

var app = angular.module('app', []); app.controller('ctrl', function($scope) { $scope.obj1 = { content: '' }; $scope.obj2 = { content: '' }; }); app.directive('contenteditable', function() { homecoming { scope: { obj: '=' }, restrict: 'a', link: function(scope, elem) { elem.on('keyup', function() { var text = elem.text(); scope.obj.content = text; scope.$apply(); }); } }; });

i trying write contenteditable directive 2 way info binding. unusual things happen:

using ngbind: type 'a', caret jumps first position instead of after 'a';

using interpolation: type 'a', become 'aa'.

the live demo: http://jsbin.com/bifabuyu/5/edit

what happening here , how prepare it?

i prepare problem interpolation - delete {{obj2.content}} from

<div class="editable" contenteditable=true obj="obj2">{{obj2.content}}</div>

and work correctly. "doubling" symbols happens because directive bind "obj2", , within directive print object "obj2".

html5 angularjs contenteditable

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -