[英]Javascript onkeyup user defined function
到目前为止,我做得很好,但是我无法将其实现为html对象。
http://jsfiddle.net/fkyk2b8y/48/
假设我有一个像<input type='text' id="textareaID" onkeyup="myFunction(this.id)" />
这样的html元素,并且我想这样实现:
function myFunction(elementID){
$('#'+elementID).keypress(function (e){
...
...
...
});
}
实施后它无法正常工作,您可以从小提琴演示中尝试一下。
提前致谢。
-更新-
我有很多HTML输出,它们都有不同的ID值。 我想对所有这些html输入使用相同的功能。 我不知道如何实现,否则JS方面运行良好。
您正在尝试将jQuery keypress事件放入onkeyup函数事件中...
只是这样做:
<input type='text' id="textareaID" />
在里面:
$("textareaID").keypress(function (e){
if ( e.keyCode == (whatever you want) ) ...
});
为了能够对所有需要的输入应用函数,以实现可重用性,可以使用class
而不是id
。 因此,将<input id="textareaID" ... />
更改为<input class="textarea" ... />
现在定义使您的匿名函数在事件处理程序绑定之外成为一个命名函数。 所以代替:
$('#textareaID').keypress(function(e){ ... });
您将拥有:
function reusableFunction(e){ ... }
$('.textarea').keypress(reusableFunction);
另外,在您的jsfiddle你需要更换一些document.getElementById
的为this
。 这是经过修改的jsFiddle 。 注意,我有3个输入,例如原始输入,如果需要更多输入,可以添加class
。
如果我错过了一些事情,我很乐意更新我的答案,您不用说为什么您的功能坏了,而且不是立即显而易见的。
让我明白这一点,您是否要在传递元素ID时从javascript函数调用jQuery函数? 然后同时使用元素的ID和keypress事件? 如果是这样,可以这样做
<input type="text" onkeypress="callKeyPress(this.id);" id="textId" />
<span id="keypressCode">0</span>
<script>
$(document).ready(function() {
alert("function is ready to use now");
});
$.fn.keyPressFunction = function(id){
alert("id is ---> "+id);
var keycode = (event.keyCode ? event.keyCode : event.which);
$('#keypressCode').html(keycode);
//do something with key code
}
function callKeyPress(id){
alert(id);
$.fn.keyPressFunction(id);
}
</script>
这是你想要的吗?
HTML
<input type='text' id="textareaID1" />
<input type='text' id="textareaID2" />
<span></span>
s
$('input[type=text]').on('keyup',function(e){
$('span').html(this.id);
});
您在评论中表示,可能有许多输入字段具有不同的ID,因此您可以执行此操作
演示版
首先,感谢您的耐心配合和分享信息。 这就是我真正想要做的:
HTML部分:
<input type='text' id="textareaID" onkeypress="currencyChecker(event, this.id)" />
<span></span>
JS部分: https : //jsfiddle.net/fkyk2b8y/54/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.