繁体   English   中英

Javascript转义字符替换

[英]Javascript Escape Character Replacement

我正在使用按钮在表单中动态生成新的表格行,并且这些行包括带有参数的调用函数。 我尝试在添加的行上使用JQuery来触发.blur()事件,就像使用硬编码的第一张表行成功完成的一样,但是页面完全忽略了它。 因此,我正在尝试从行HTML内触发onb​​lur()事件的另一种途径。 我被函数参数卡住了,因为我要么弄乱了转义字符顺序,要么搞乱了翻译。 我已经花了几个小时来尝试对Stack Overflow进行研究,所以我希望第二组眼睛能够提供帮助。

这是相关的代码段。 存储的html会附加到我的表格行中,该行已经可以使用了。

var strVar = 'myString';
var rowCount = $("#tbodyID td").closest("tr").length;
var rowNum = rowCount + 1;


var line17 = "<td><input type='number' class='form-control' name='named_qty' onblur='function(" + strVar + ")' id='row_R" + rowNum.toString() + "' /></td> ";

大约有25行需要插入不同的html。 我能够使它以前运行,但是意识到一个值是硬编码的,因此我需要它是动态的。 它调用的函数接受一个字符串。

当插入HTML文档时,此行通常应显示为:

<td><input type="number" class="form-control" name="named_qty" onblur="function('myString')" id="row_R2" /></td>

我做了一些进一步的研究,并意识到我将JQuery blur()方法用作: $('#id').blur( function() { }); 并尝试调用这些函数,而没有意识到该方法仅适用于在页面加载时已写入DOM的HTML元素。

显然,解决方案是使用JQuery on()方法,如下所示:

$(document).on("blur", '#id', function() {   <insert code> });

从W3Schools,

注意:使用on()方法附加的事件处理程序将同时适用于当前和FUTURE元素(如脚本创建的新元素)。

这消除了将事件函数调用包含在要附加到DOM的HTML行中的必要性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM