2014-06-17 2 views
1

입력 버튼을 누르면 <a href='#' onclick='function()'> 링크의 onclick 이벤트가 활성화됩니다. 이것은 작동해야하지만, 작동하지 않는 것 같습니다. Trigger a button click with JavaScript on the Enter key in a text box. 그리고 이것은 또한 버튼을 위해 작동하지 않았습니다.html <a> 입력시 클릭 활성화

로딩 문제로 인해 대부분의 인터페이스를 아약스로로드하고 특정 계산에 꽤 많은 시간이 걸리기 때문에 아마 이유가 있습니다. 그래서 업데이트 할 수 있도록 아약스를 사용해야합니다. 사용자가 서버를 5 ~ 10 초 정도 기다리지 않고 실시간으로 실행할 수 있습니다. 그러나 이것은 아래의 코드가 작동하지 않는 것처럼 보입니다.

내 코드

//This comes from a different php file which is read out on the server with 
//readfile() in php after an ajax call. In other words it echoes the 
//contents of this file on the page including this link. 
echo "<a href='#' onclick='dosomething()' ID='Enter'>Click me</a>"; 

//js 
$("#Enter").keyup(function(event){ 
    if(event.keyCode == 13){ 
     $("#Enter").click(); 
    } 
}); 

function dosomething(){ 
    //activate some code depends on the link. 
} 

그래서 나는이 작업을 얻는 방법에 대해 설명합니다. ajax를 통해 가져온 링크를 누르면 onclick을 활성화 할 수 있습니까? 이것은 가능한가?

답변

3

Working Demo

이 시도처럼 Trigger 수있는 것처럼 당신이 할 수있는,

사용 keypress 이벤트 그것은하지 않습니다 에프 에 #Enter로 전화하면 <a> 태그입니다.

$(document).keypress(function(event){ 

    if(event.keyCode == 13){ 
     $("#Enter").click(); //OR $("#Enter").trigger('click'); 
    } 
}); 

function dosomething(){ 
    alert('..'); 
    //activate some code depends on the link. 
} 
+1

감사합니다. , 이것 하나 : p – kpp

0

$("#Enter").keypress(function(event){ 
    if(event.keyCode == 13){ 
     dosomething(); 
    } 
}); 

심지어 당신이

$("#Enter").trigger('click'); 
+0

물론이 기능이 ID 입력으로 애플리케이션의 모든 링크에서 실행되고 싶지만,이 링크 중 아무 것도 동시에 표시되지는 않습니다. 일부 경우에는 사용자 입력이 필요합니다. Login()과 같습니다. 그래서 완전히 눌려서 입력이 눌러 졌기 때문에 임의의 오류 메시지가 페이지에 나타납니다. – kpp

+0

그렇다면 ID 대신 클래스 선택기를 사용해야합니다. DOM 규칙에 따라 ID를 고유 한 ID로 지정해야하기 때문에 – Gautam3164

+0

수 있습니다. 어떻게하는지 보여줄 수 있습니까? 저는 PHP에 익숙하지만 jquery와 많이 관련되지 않습니다. – kpp

관련 문제