10/10/2018, 11:07
Hỏi về Event Javascript
Mình có vấn đề như sau :
mình tạo một hàm
Mình dùng sự kiện onkeypress="abc(event)";
Nhưng mình thấy khi sử dụng hàm lại phải ghi chữ event có vẻ dư thừa cho người sử dụng .
Mình muốn trong hàm abc mình tạo luôn một Event dạng onkeypress .Thay vì phải truyền chữ event .
Có bạn nào biết vấn đề này làm ơn giúp mình với !
mình tạo một hàm
PHP Code:
function abc(e){
if(e.keyCode) code = e.keyCode;
else if(e.which) code = e.which;
alert(code);
}
Nhưng mình thấy khi sử dụng hàm lại phải ghi chữ event có vẻ dư thừa cho người sử dụng .
Mình muốn trong hàm abc mình tạo luôn một Event dạng onkeypress .Thay vì phải truyền chữ event .
Có bạn nào biết vấn đề này làm ơn giúp mình với !
Bài liên quan
[x]
Như bạn xx3004 đưa ra đó mới chỉ là event của cả document chứ không phải của tag a như chủ thớt đưa ra. Cho nên không thể sử lý chính xác được. Vì lúc đó nhấn phím vào đâu cũng thực hiện cái hàm đó.
Có lẽ trong lúc ứng dụng mà chủ thớt có khó khăn gì nên mới phải hỏi vậy. Tuy nhiên không thể khác là vẫn phải truyền cái sự kiện đó bằng vào hàm thì mới sử lý được.
Nếu bạn ngại phải nhét cái câu gọi hàm đó vào thẻ a dạng onkeypress="abc(event)"; thì vẫn có cách khác đó là bạn đặt cho thẻ a 1 cái ID
ví dụ:
<input type="button" id="myButton" value="Click here />
rồi sau đó bạn viết javascript như sau:
<script type="text/javascript">
var myElement = document.getElementById('myButton');
myElement.onkeypress = function(e)
{
if(e.keyCode) code = e.keyCode;
else if(e.which) code = e.which;
alert(code);
}
</script>
Chúc thành công.
[x]
Nhưng có điều là nếu viết riêng ra thì sẽ không chạy được như bạn kenphan19 nói .
Hiên tại thì mình chạy được là phải ghi như sau :
function abc(){
document.getElementById('button').onkeypress = function(e){
if(e.keyCode) code = e.keyCode;
else if(e.which) code = e.which;
alert(code);
};
};
onkeypress="abc();"
<script type="text/javascript">
abc();
</script>
Thân.
[x]