2012-04-22 2 views
2

내 코멘트 시스템에이 플러그인 https://github.com/podio/jquery-mentions-input을 사용하고 있습니다. 모든 것이 잘 작동하지만 기능을 추가하고 싶습니다. 이 함수는 링크 (응답)를 클릭하면 커서가있는 위치의 텍스트 영역에 사용자 이름의 태그/태그를 추가합니다.Jquery 언급 입력 : 링크 클릭시 태그 추가

어떻게해야할까요?

이미 하나의 태그 (@ 문자 작성)를 추가했으면 언급을 추가 할 수있었습니다. 나는 텍스트 영역의 초기화와 링크가 클릭되었을 때 커서의 위치에 문제가 있다는 것을 알았지 만 그 작업을 수행하는 방법을 파악할 수없는 것 같습니다.

내 jquery 파일에 addReply 함수를 추가했습니다.

// Public methods 
return { 
    init : function (options) { 
    settings = options; 

    initTextarea(); 
    initAutocomplete(); 
    initMentionsOverlay(); 
    }, 

    val : function (callback) { 
    if (!_.isFunction(callback)) { 
     return; 
    } 

    var value = mentionsCollection.length ? elmInputBox.data('messageText') : getInputBoxValue(); 
    callback.call(this, value); 
    }, 

    addReply : function (id, text, type) { 
     initTextarea(); 
     initAutocomplete(); 
     initMentionsOverlay(); 
     addMention(text, id, type); 
    }, 

    reset : function() { 
    elmInputBox.val(''); 
    mentionsCollection = []; 
    updateValues(); 
    }, 

    getMentions : function (callback) { 
    if (!_.isFunction(callback)) { 
     return; 
    } 

    callback.call(this, mentionsCollection); 
    } 
}; 

그리고이 텍스트 영역과 같은 페이지에이 작은 스크립트라고 주위에 테스트 한 후

$('.add-mention').click(function() { 
    $('textarea.mention').mentionsInput('addReply',('Joris', 9, 'contact')); 
}); 

(값은 단지 테스트를위한) 큰 문제가없이 그렇게 보이는 @ jquery 코드는 태그의 시작 부분이 어디에서 시작하는지 찾지 못하므로 추가하지 않습니다.

나는 누군가가 나를 도울 수 있기를 희망하며, 나를 미치게하기 시작했다 !!!

감사
요리스

+0

왜 텍스트에 @를 추가하지 않도록 함수를 호출하기 전에 - 당신은 이미이 일을 생각하지 않은 경우 이것 좀보세요? @name이 이미 있는지 확인한 다음 추가 할 수 있습니다. – rcdmk

답변