javascript - 与 onblur 一起使用的动态创建的元素和函数无法正常运行

标签 javascript jquery parameters

我正在尝试将一些参数传递给具有“onBlur”事件的函数,如下所示:

var str = "<tr><td>&nbsp;</td><td colspan='8'>";
            str += "<input onBlur='blurEdit("+sno+","+field+");' value='"+$.trim($('#'+elementId).text())+"' type='text' class='form-control' name='edit_"+field+"' id='edit_"+field+"'>"+
                    "<span id='msgEdit'></span></td></tr>";
            $(str).insertAfter($("#"+rowId));

但是函数 onBlur=blurEdit("+sno+",'"+field+"') 不会接受第二个参数值及其值,因为它包含在字符串值中。 如何在 javascript 创建的字符串中使用函数?

最佳答案

使用相同的语句onBlur=blurEdit("+sno+",'"+field+"');似乎对我有用。确保您在blurEdit之前和之后没有给出任何',就像您在问题中给出的那样。

$(document).ready(function() {
  $("#btn1").click(function(){
var field ="name";
var sno=1;
var str="<input onBlur=blurEdit("+sno+",'"+field+"'); type='text'/>";
$(str).insertAfter($("#rowId"));
});
});
var  blurEdit = function(sno,field){
alert(field);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rowId"></div>
<button id="btn1">Append Text</button>

关于javascript - 与 onblur 一起使用的动态创建的元素和函数无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40758340/

相关文章:

javascript - 从 React 元素构造 React 组件

javascript - JQuery 模板 - 太多的递归

jquery - 使用外部内容填充 div 和 sub-div 元素

jQuery 电话号码验证允许空格,至少 8 位数字

javascript - 如何在d3.group中动态传递ES6剩余参数

javascript - 如何在从 json 数据创建 html 表时创建隐藏的 <td> 行?

javascript - Angular 2 Leaflet Tiles 巨大间隙

javascript - 使用 javascript 和 HTML 的动态树结构

javascript - 将参数传递给模块javascript

c# - Crystal Report 参数再次不起作用