This repository has been archived on 2020-10-11. You can view files and clone it, but cannot push or open issues or pull requests.
angular-contenteditable/README.md
2014-06-24 16:29:39 +01:00

54 lines
1.5 KiB
Markdown

# angular-contenteditable
[![Build Status](https://img.shields.io/travis/akatov/angular-contenteditable.svg)](https://travis-ci.org/akatov/angular-contenteditable)
[![Dependency Status](https://img.shields.io/gemnasium/akatov/angular-contenteditable.svg)](https://gemnasium.com/akatov/angular-contenteditable)
[![endorse](https://api.coderwall.com/akatov/endorsecount.png)](https://coderwall.com/akatov)
An AngularJS directive to bind html tags with the `contenteditable` attribute to models.
## Install
```bash
bower install angular-contenteditable
```
## Usage
```javascript
angular.module('myapp', ['contenteditable'])
.controller('Ctrl', ['$scope', function($scope) {
$scope.model="<i>interesting</i> stuff"
}])
```
```html
<div ng-controller="Ctrl">
<span contenteditable="true"
ng-model="model"
strip-br="true"
select-non-editable="true">
</span>
</div>
```
## Notice
The directive currently does not work in any version of Internet Explorer or Opera < 15.
Both browsers don't fire the `input` event for contenteditable fields.
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 `display` 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
```bash
npm install
bower install
grunt
```