2016-10-05 1 views
1

У меня есть кнопка <button id="get_eventxydiv"> click</button>, и я хочу получить клиентское и клиентское значение для этого при нажатии.get eventx, eventy для кнопки, на которую щелкнул jquery click()

$('#get_eventxydiv').on('click', get_eventXY); 

И я хочу, чтобы он загружался сам. Поэтому я нажимаю кнопку onload.

$(document).ready(function() { $('#get_eventxydiv').trigger('click'); }); 

и здесь функция нажмите

function get_eventXY(event) 
{ 
    eventx=event.clientX; 
    eventy=event.clientY; 
    alert(eventx+" "+eventy); 
} 

Но OnLoad он предупреждает undefined undefined .. Как заставить его работать? Любая помощь пожалуйста

+0

Определяется 'get_eventXY' в' .ready() '? – guest271314

+0

Принимается как ответ, потому что мой происходит от вашего :-) – vikram

ответ

0

jQuery .trigger() не вызывает родной HTMLElement.click() событие. Вызов HTMLElement.click()

$(document).ready(function() { 
 
    function get_eventXY(event) { 
 
    console.log(event) 
 
    eventx = event.clientX; 
 
    eventy = event.clientY; 
 
    alert(eventx + " " + eventy); 
 
    } 
 
    $('#get_eventxydiv').on('click', get_eventXY); 
 
    $('#get_eventxydiv')[0].click(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="get_eventxydiv">click</button>

+0

Он дает 0 0 на загрузку, но при каждом нажатии кнопки он дает точные значения – vikram

+0

@vikram Что ожидается результат? – guest271314

+0

Он должен указать значение, которое совпадает с значением при нажатии вручную в центре кнопки (или в некоторой точке кнопки)! Является ли это возможным? – vikram

1

После обхода на некоторое время, получил решение, которое является обновлением @ guest271314.

$(document).ready(function() { 
      function get_eventXY(event) { 
        var width=$('#get_eventxydiv').width(); 
        var height=$('#get_eventxydiv').height(); 
        var offset_org = $('#get_eventxydiv').offset(); 
        var centerX = offset_org.left + width/2; 
        var centerY = offset_org.top + height/2; 

        eventx = centerX; 
        eventy = centerY; 
      } 
      $('#get_eventxydiv').on('click', get_eventXY); 
      $('#get_eventxydiv')[0].click(); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^