![](/img/trans.png)
[英]Overwrite jQuery to execute code after element has become visible - how to?
[英]How to overwrite this code in jquery
下面的代码是我想在$('#mainNumberAnswerTxt').val(numberAnswer);
上单击“添加”按钮时在文本框中显示数字的代码$('#mainNumberAnswerTxt').val(numberAnswer);
。 但是我还有一行代码,当单击(btn“按钮”)时,它将触发该函数。
function addwindow(numberAnswer, gridValues, btn) {
$('#mainNumberAnswerTxt').val(numberAnswer);
$('#btn'+gridValues).trigger('click');
}
由于触发,它会触发此函数$('.gridBtns').on('click', function()
。在此函数中是此行代码
$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');,
此行代码检查单击gridBtn时打开了多少个按钮,并在文本框中显示该数字。 但是上面的代码行覆盖了$('#mainNumberAnswerTxt').val(numberAnswer);
在addwindow()函数中。
例:
如果打开了两个“ #btns”,但是我单击“添加”按钮以添加显示在“答案数量”列下的数字(假设这个数字为1),那么它应该显示数字1在此文本框中,此代码会影响$('#mainNumberAnswerTxt').val(numberAnswer);
,而是显示数字2,因为此代码正在$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');
: $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');
在上面的示例中,如何显示1号而不显示2号
以下是文本框的html代码:
<input type="text" name="numberAnswer" class="numberAnswerTxt answertxt" id="mainNumberAnswerTxt" readonly="readonly" onChange="getButtons()" >
更新:
这是该应用程序的演示 。 请按照以下步骤操作:
问题:
在“答案数量”文本框中,它应该显示数字1,但不显示。
好的,这个问题很令人困惑,但是我想我想出了您想要的东西:只需向mainNumberAnswerTxt添加一个类或属性,以便第二次单击事件可以忽略它
function addwindow(numberAnswer, gridValues, btn) {
$('#mainNumberAnswerTxt').val(numberAnswer).attr('data-ignore',true);
$('#btn'+gridValues).trigger('click');
}
然后在您的$('。gridBtns')。on('click',function()中,您只需检查(不知道确切的html和js代码)
if(this).attr('data-ignore') != true {
$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.