我正在尝试将一些参数传递给具有“onBlur”事件的函数,如下所示:
var str = "<tr><td> </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/