2012-02-07 2 views
0

contenteditable 특성을 제거하려고하거나 적어도 다른 요소를 클릭하면 false로 설정하려고합니다.다른 요소를 선택한 후에 특성 값을 제거 또는 설정하십시오.

group.click(function(){ 
    var $this = $(this); 
    group.removeClass("selected"); 
    isEditable.attr('contenteditable', false) 
    $this.addClass("selected"); 
    isEditable.attr('contenteditable', true).css("cursor", "text"); 
}); 

미리보기 &을 모든 코드 : http://jsbin.com/ekufeb/3이 (텍스트 중 하나를 선택)이

목적은 내가 하나 개의 요소 만 해당 cursor: pointer;하지만 때 선택한 요소에 CSS를 적용하는 것입니다 이것은 내가 지금까지 뭘하려 isEditable 변수에있는 모든 것에 적용됩니다. 다음 중 어떤 것입니까?

isEditable = $(".grouptitle, .username, .text"); 

어떤 방식 으로든 가능합니까? 미리보기가 도움이되기를 바랍니다.

+0

"흐림"이벤트 사용을 고려 했습니까? 그게 네 상황에서 효과가 있니? http://api.jquery.com/blur/ –

+0

최종 목표는 무엇입니까? 다른 요소를 클릭 할 때 왜 contenteditable을 제거해야합니까? 그것은 당신이 어쨌든 밖으로 클릭하는대로 편집 가능한 중지합니다. – mrtsherman

답변

1

removeAttr을 사용하여 요소에서 모든 특성을 제거 할 수도 있습니다. 그래서 당신의 경우에 당신이 contenteditable 속성이있는 요소를 선택하려면이

isEditable.removeAttr('contenteditable'); 

될 것 아니면이 사실 사용하는 것입니다.

isEditable = $(".grouptitle, .username, .text").filter(function(){ 
      return !$(this).attr('contenteditable') 
        || ($(this).attr('contenteditable') == false); 
}); 
관련 문제