contenteditable change events

前端 未结 19 2702
粉色の甜心
粉色の甜心 2020-11-22 01:36

I want to run a function when a user edits the content of a div with contenteditable attribute. What\'s the equivalent of an onchange

19条回答
  •  忘掉有多难
    2020-11-22 01:59

    Non JQuery answer...

    function makeEditable(elem){
        elem.setAttribute('contenteditable', 'true');
        elem.addEventListener('blur', function (evt) {
            elem.removeAttribute('contenteditable');
            elem.removeEventListener('blur', evt.target);
        });
        elem.focus();
    }
    

    To use it, call on (say) a header element with id="myHeader"

    makeEditable(document.getElementById('myHeader'))
    

    That element will now be editable by the user until it loses focus.

提交回复
热议问题