Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <link href="//cdn.jsdelivr.net/picnicss/4.1.1/picnic.min.css" rel="stylesheet">
  <script src="//rawgit.com/magnumjs/mag.js/master/mag-latest.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
  <h1>Hello Mag.JS!</h1>
  <a target="_top" href="https://github.com/magnumjs/mag.js">GitHub</a>
  <hr/>
  <div id="limit">
    <h2>Characters left: <length/></h2>
    <input>
    <textarea></textarea>
  </div>
  
</body>
</html>
 
.hide {
  display: none;
}
a {
  display: block;
}
a:after {
  content: " \bb";
}
 
var demo = {}
demo.view = function(state, props) {
  
  state.textarea = state.input = {
    
    _onInput: function(e) {
      
      if (e.target.value.length > props.limit) {
        alert('max length reached:' + props.limit)
        e.target.value = e.target.value.substr(0, props.limit)
      }
state.length = props.limit - e.target.value.length;
    }
  }
}
var props = {
  limit: 10,
}
mag.module("limit", demo, props)
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers