angular model for the "contenteditable" attribute
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
Go to file
Dmitri Akatov 4fa785b175 version 0.3.1: don't rerender unless we actually replaced some divs in no-line-break mode 11 years ago
src version 0.3.1: don't rerender unless we actually replaced some divs in no-line-break mode 11 years ago
test bumped karma, updated test config to run with new version of karma 11 years ago
.editorconfig Initial commit 11 years ago
.gitattributes Initial commit 11 years ago
.gitignore ignore .idea directory 11 years ago
.jshintrc Initial commit 11 years ago
Gruntfile.coffee keep the built file in the main directory (for bower's sake) 11 years ago
README.md some explanation about caret behaviour in contenteditable elements. 11 years ago
angular-contenteditable.js version 0.3.1: don't rerender unless we actually replaced some divs in no-line-break mode 11 years ago
bower.json version 0.3.1: don't rerender unless we actually replaced some divs in no-line-break mode 11 years ago
package.json version 0.3.1: don't rerender unless we actually replaced some divs in no-line-break mode 11 years ago

README.md

angular-contenteditable

An AngularJS directive to bind html tags with the contenteditable attribute to models.

Install

bower install angular-contenteditable

Usage

angular.module('myapp', ['contenteditable'])
    .controller('Ctrl', function($scope){
        $scope.model="<i>interesting</i> stuff" })
<div ng-controller="Ctrl">
  <span contenteditable="true"
        ng-model="model"
        strip-br="true"
        select-non-editable="true"></span></div>

Notice

In Chrome, when a contenteditable element X contains a non-contenteditable element Y as the last element, then the behaviour of the caret is the following:

  • When X has style dislay set to block or inline-block, then the caret moves to the very far right edge of X when it is immediately at the end of X (inserting spaces moves the caret back).

  • When X has style display set to inline, then the caret disappears instead.

Development

npm install
grunt build
grunt karma:e2e