使特定于一个输入的函数应用于所有输入的正确jQuery语法是什么?
这是一个与我的问题相关的持续问题,如果你想了解一些背景知识的话 我是一个初学者和自私自利的web程序员,希望将函数放在jQuery中,以便使函数在任何集中的输入/元素中工作 我从这里开始,使用了三个功能,但只在使特定于一个输入的函数应用于所有输入的正确jQuery语法是什么?,jquery,function,syntax,webforms,listeners,Jquery,Function,Syntax,Webforms,Listeners,这是一个与我的问题相关的持续问题,如果你想了解一些背景知识的话 我是一个初学者和自私自利的web程序员,希望将函数放在jQuery中,以便使函数在任何集中的输入/元素中工作 我从这里开始,使用了三个功能,但只在上起作用:id=“dataInput\u 0” 我询问并收到了关于如何使用jQuery监听器的好提示和信息,这些监听器可以将函数应用于具有给定类的任何单元格。但是,我只能在这里找到如何应用聚焦和模糊功能: <script type="text/javascript"> $(
上起作用:id=“dataInput\u 0”
我询问并收到了关于如何使用jQuery监听器的好提示和信息,这些监听器可以将函数应用于具有给定类的任何
单元格。但是,我只能在这里找到如何应用聚焦和模糊功能:
<script type="text/javascript">
$(document).ready(function(){
$('.classOne').keypress(function(e){
if (e.which == 13)
{
alert ( "message-return key not allowed");
return false;
}
});
$('.classOne').focus(function() {
var d = this;
d.className = d.className + " InFocus";
});
$('.classOne').blur(function() {
var d = this;
d.className = "classOne";
});
})
</script>
$(文档).ready(函数(){
$('.classOne')。按键(功能(e){
如果(e.which==13)
{
警报(“不允许使用消息返回键”);
返回false;
}
});
$('.classOne').focus(函数(){
var d=这个;
d、 className=d.className+“InFocus”;
});
$('.classOne').blur(函数(){
var d=这个;
d、 className=“classOne”;
});
})
现在的代码是:
<textarea
data-id="0"
class="classOne classTwo"
id="dataInput_0"
name="xInput_row_1"
onKeyUp="functionThree();">
</textarea>
functionThree()是这里的技巧包。由于我对语法的理解有限(不存在?),所以将javaScript函数移动到jQuery时遇到了问题
javaScript函数与标识分隔符和拆分从Excel复制的数据相关,然后将这些数据粘贴到大量的
s中
代码:
函数三(){
var x=document.forms[“formName”][“dataInput_0”]值;
如果(x.indexOf('\t')>0&&x.indexOf('\n')>0){
警报(“无法在块中粘贴行和列,等等,等等消息”);
document.forms[“formName”][“dataInput_0”]。value=“”;
返回false;
}
其他的
如果(x.indexOf('\t')>0){
var delimiterT=x.split('\t');
for(变量i=0;i0){
var delimiterN=x.split('\n');
var j=0;
for(变量i=0;i
j+=4代码>是因为我假设一个示例表单有4列。如果我有24列,显然我将j+=24
进入焦点下的下一个
因此,上面的javaScript只适用于[“dataInput\u 0”]
,我希望它适用于任何关注的
正确的jQuery语法可能是什么
提前谢谢 您可以用类似的方式绑定keyup事件处理程序,但在functionThree中,只需使用$(this).val()来获取textarea值。有了jquery,您还可以摆脱所有那些getElementById
$('.classOne').on({
keypress: function(){...},
focus: function(){...},
blur: function(){...},
keyup:function(){
var x = $(this).val();
if (x.indexOf('\t') > 0 && x.indexOf('\n') > 0) {
alert ("Can't paste rows & Columns in blocks, blah, blah, blah message");
$(this).val("");
return false;
}
else
if (x.indexOf('\t') > 0) {
var delimiterT = x.split('\t');
for (var i = 0; i < delimiterT.length ; i++)
$("#dataInput_" + i).val(delimiterT[i]);
}
else
if (x.indexOf('\n') > 0) {
var delimiterN = x.split('\n');
var j = 0;
for (var i = 0; i < delimiterN.length ; i++) {
$("#dataInput_" + j).val(delimiterN[i]);
j += 4;
}
}
else
return false;
}
})
$('.classOne')。在({
按键:函数(){…},
焦点:函数(){…},
blur:function(){…},
keyup:function(){
var x=$(this.val();
如果(x.indexOf('\t')>0&&x.indexOf('\n')>0){
警报(“无法在块中粘贴行和列,等等,等等消息”);
$(此).val(“”);
返回false;
}
其他的
如果(x.indexOf('\t')>0){
var delimiterT=x.split('\t');
for(变量i=0;i0){
var delimiterN=x.split('\n');
var j=0;
for(变量i=0;i
作为旁白,$(this.addClass(“InFocus”)
是焦点处理程序中所需的全部内容<代码>$(this.removeClass(“InFocus”)代码>是模糊处理程序中所需的全部内容。但我建议从这个问题中删除这些处理程序的代码,因为它们正在工作,并且与您实际询问的问题无关。另外请注意,如果未找到指定的字符串,则indexOf()
将返回-1
。谢谢@paulito,我还不太清楚。您提供的解决方案和语法很棒,但从粘贴到#dataInput_0中的情况来看,它只起作用。我越来越喜欢这个:else如果(x.indexOf('\t')>0){var delimiterT=x.split('\t');var di=$(this.attr('data-id');for(var I=0;I
<script type="text/javascript">
function functionThree() {
var x = document.forms["formName"]["dataInput_0"].value;
if (x.indexOf('\t') > 0 && x.indexOf('\n') > 0) {
alert ("Can't paste rows & Columns in blocks, blah, blah, blah message");
document.forms["formName"]["dataInput_0"].value = "";
return false;
}
else
if (x.indexOf('\t') > 0) {
var delimiterT = x.split('\t');
for (var i = 0; i < delimiterT.length ; i++)
document.getElementById("dataInput_" + i).value = (delimiterT[i]);
}
else
if (x.indexOf('\n') > 0) {
var delimiterN = x.split('\n');
var j = 0;
for (var i = 0; i < delimiterN.length ; i++) {
document.getElementById("dataInput_" + j).value = (delimiterN[i]);
j += 4;
}
}
else
return false;
}
</script>
$('.classOne').on({
keypress: function(){...},
focus: function(){...},
blur: function(){...},
keyup:function(){
var x = $(this).val();
if (x.indexOf('\t') > 0 && x.indexOf('\n') > 0) {
alert ("Can't paste rows & Columns in blocks, blah, blah, blah message");
$(this).val("");
return false;
}
else
if (x.indexOf('\t') > 0) {
var delimiterT = x.split('\t');
for (var i = 0; i < delimiterT.length ; i++)
$("#dataInput_" + i).val(delimiterT[i]);
}
else
if (x.indexOf('\n') > 0) {
var delimiterN = x.split('\n');
var j = 0;
for (var i = 0; i < delimiterN.length ; i++) {
$("#dataInput_" + j).val(delimiterN[i]);
j += 4;
}
}
else
return false;
}
})