필드에서 '다른 장소 편집기'를 제거하는 방법 (jQuery inplace.js 플러그인)

StackOverflow https://stackoverflow.com/questions/646567

문제

인치 편집자를 설정할 수 있습니다. 문제가없고 모든 것이 잘 작동하지만 필드에 연결되면 제거 할 방법을 찾지 못했습니다. 누구나 방법을 알고 있습니까?

이 플러그인에 대해 이야기하고 있습니다. http://www.davehauenstein.com/code/jquery-edit-in-place/

도움이 되었습니까?

해결책

나는 당신이 안쪽 편집기를 비활성화하고 싶다는 것을 의미한다고 생각합니다.

이 플러그인을 사용한 적이 없지만 사이트에 요구하는 동작이 구현되었다고 믿는 코드 샘플이 없습니다.

그렇지 않다면 아마도 좋은 오래된 div 캐시 트릭을 사용할 수 있습니다.

$.fn.disableWithADiv() {
    var element = $(this);
    var pos = element.offset();
    $("body").append($("<div />").css({
        "position": "absolute",
        "z-index": 1000,
        "left": pos.left+"px",
        "top": pos.top+"px",
        "width": element.width(),
        "height": element.height(),
        "display": "block"
    }).attr("id",element.attr("id")+"-div-disabler"));
}

$.fn.removeDivDisabler() {
    var element = $(this);
    $("#"+element.attr("id")+"-div-disabler").remove();
}

그런 다음 사용하십시오

$("#yourElement").disableWithADiv();   // To disable
$("#yourElement").removeDivDisabler(); // To re-enable

모든 것이 계획된대로 진행되면 DIV는 요소 대신 클릭 이벤트를 잡을 수 있으며 인치 편집기는 결코 열리지 않습니다.

그것은 내 머리 꼭대기에서 왔는데, 오타 나 주요 논리 결함이 있는지 확실하지 않습니다.)

편집하다:

글쎄, 문제가 있습니다 ... 두 기능의 본문은이 구성에 캡슐화되어야합니다.

return this.each(function() {
    // Body here
});

바보 나.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top