admin管理员组

文章数量:1404927

Problem

I have an editable div containing a few non-editable divs. If a user clicks somewhere I have to find out if he clicked in an area he can actually edit or not.

Question

Is there a way to check if an element is editable? Something like this:

$('my-element-selector').is(':editable')

(And no, the :editable selector is not working, just an example)

Problem

I have an editable div containing a few non-editable divs. If a user clicks somewhere I have to find out if he clicked in an area he can actually edit or not.

Question

Is there a way to check if an element is editable? Something like this:

$('my-element-selector').is(':editable')

(And no, the :editable selector is not working, just an example)

Share Improve this question asked Jun 11, 2014 at 4:27 MarcMarc 6,7719 gold badges51 silver badges79 bronze badges 2
  • what do you mean by an editable div? – Alfred Huang Commented Jun 11, 2014 at 4:29
  • Div with setting contenteditable=true – Marc Commented Jun 11, 2014 at 4:31
Add a ment  | 

4 Answers 4

Reset to default 4
$('#mydiv').get(0).isContentEditable

https://developer.mozilla/en-US/docs/Web/API/HTMLElement.isContentEditable

As far as i heard, there is no such selector called :editable in core jquery, Try to make use of the attribute selector at this context,

$('my-element-selector').is('[contenteditable="true"]')

DEMO

Try this

$( "div" ).click(function() {
if ( $( this ).hasClass( "editable" ) ) {

}
});

OR

if ( $( "#myDiv" ).is( ".editable" ) ) {

}

Give a specific class for editable div and check for class. For example :

 if ( $( "#DivId").hasClass( "Editable" ) ) {}

Another way :

if ( $( "#DivId" ).is( ".Editable" ) ) {

   }

本文标签: javascriptjQuery check if element is editableStack Overflow