2016-10-05 120 views
1

我有一個按鈕<button id="get_eventxydiv"> click</button>,我想爲此點擊時獲得clientx和clienty值。得到eventx,爲jQuery單擊()點擊按鈕的事件()

$('#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

在'.ready()'中定義'get_eventXY'? – 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 onload,但當單擊按鈕mannually時,它給出確切的值 – 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(); 
});