2014-10-23 3 views
0

그래서이 함수는 이벤트 리스너를 폼의 레이블에 사용하려고합니다. 그 요소의 id 값을 인수로 취한 다음 각 레이블에 id + 'Label'의 id 값을 부여해야합니다. 내가 전화 할 때 현재 아무것도하지 않고있다. U와 this. $ U는 코드를 단축하는 다른 코드입니다.레이블을 구성하는 이벤트 리스너

addTooltipHandlers: function(id) { 
    'use strict'; 

    // Get the form element reference: 
    var newId = this.$(label.id); 

    newId.onmouseover = showTooltip; 
    newId.onmouseout = hideTooltip; 
    newId.onfocus = showTooltip; 
    newId.onblur = hideTooltip; 

}, // End of addTooltipHandler() function. 

나는 다른 js 파일에서 이것을 사용하고있다.

U.addTooltipHandler('someLabel'); 

HTML 코드 나는 시도

<div class="two"><label for="phone">Phone Number<span class="tooltip">In the format XXX XXX XXXX or XXX-XXX-XXXX or XXXXXXXXXX.</span></label><input type="text" name="phone" id="phone" required></div> 
+0

이 두 번째'onmouseover' 아마 onmouseout''해야합니다. – Barmar

+0

'this. $ (id)'란 무엇입니까? 'document.getElementById (id)'가 될 수 없습니까? – Barmar

+0

오, 이런 ... 내가 그랬다고 믿을 수가 없어. this. $ (id) IS document.getElementByID (id)입니다. 코드를 단축하는 익명의 함수. newId에 라벨 구성 요소를 어떻게 추가합니까? – EsotericRider

답변

0

에 사용하려고이 :

, 당신이 아무것도하지 않는 id의 요소를 취득 할 필요가 없습니다
addTooltipHandlers: function(id) { 
    'use strict'; 

    // Define the new ID value: 
    var newId = this.$(id + 'label'); 

    newId.onmouseover = showTooltip; 
    newId.onmouseout = hideTooltip; 
    newId.onfocus = showTooltip; 
    newId.onblur = hideTooltip; 

}, 

그 요소. 주어진 ID를 label으로 연결하고이를 사용하여 핸들러를 연결할 새 요소를 찾습니다.

두 번째 onmouseoveronmouseout이어야합니다. 이 작업을 위해

, 당신은 라벨에 ID를 제공해야합니다
<label for="phone" id="phonelabel"> 

그런 다음 당신이 호출 할 수 있습니다

U.addToolTipHandlers('phone'); 
+0

id + 'label'이 내가 생각하는 것을 찾지 못하기 때문에 나는 라벨 부분에 잘못 접근하고 있다고 생각합니다. 나는 var newId = this를 시도하고있다. $ (label.id); html로 전화하려고합니다.

EsotericRider

+0

라벨에 ID를 지정합니다 (예 : '

+0

하이 버머 나는 내 숨김과 함께 툴팁을 표시하는 것처럼 보입니다. target.previousSibling.lastChild.style.visibility = 'visible'; 거기에 코드를 추가했습니다. – EsotericRider