使用JavaScript将onclick事件与参数绑定
Using JavaScript to bind onclick event with arguments
我正在使用JavaScript创建一个按钮元素,并将onclick
事件绑定到它
function getElement (rowObject )
{
var element ='<div id="deptNmBtn"><button onClick=getDepartMentNm("' + rowObject.empName+'")> <span>Add</span></button></div>';
return element;
}
但这里我传递了一个参数Employee Name。如果员工名称以不带空格的单个字符串形式传递,但如果带空格传递,则会引发JavaScript错误,则该代码有效。
SyntaxError:未终止的字符串文字
有人面对过这个错误吗?任何帮助都将不胜感激。
您需要用'
:包装内联点击处理程序
function getElement (rowObject) {
var element = '<div id="deptNmBtn"><button onClick=''getDepartMentNm("' + rowObject.empName + '")'' ><span>Add</span></button></div>';
return element;
}
演示。
您的代码中存在引用问题。试试这个:
var element = '<div id="deptNmBtn"><button onClick="getDepartMentNm(''' + rowObject.empName + ''')" ><span>Add</span></button></div>';
正如您所看到的,onClick
的值是未加引号的。浏览器可以解析未引用的属性,但它们最终会变成一个空格。实际上,您解析的代码看起来是这样的:
<button onClick=getDepartMentNm("Employer Name")>
HTML解析器从第一个空间剪切函数调用,Name")
被忽略,因为它不能被重新识别为有效的HTML。JavaScript是从"右到左"执行的,JS尝试做的第一件事就是为函数参数获取一个有效的字符串。现在HTML解析器已经剪切了函数,JS找不到右引号,所以它抛出了一个错误。
相关文章:
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 使用JavaScript将onclick事件与参数绑定
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- CoffeeScript绑定多个参数
- 将作用域绑定到事件处理程序,但保留原始参数
- Emberjs - 将参数动态绑定到视图
- 如何将参数传递给backbone.js中事件对象中绑定的函数
- jQuery使用最后一个参数在Javascript循环中单击绑定函数
- 传递类似绑定事件的参数
- Backbone.js的Backbone.Modelbinding插件中是否有绑定的转换器参数
- JS参数绑定不起作用
- 调用一个参数绑定到repeater的javascript函数
- 使用新的构造函数将参数绑定为this
- AngularJS -控制器中的参数绑定
- 用参数绑定渲染函数.Backbone.js
- 如何在不影响jquery回调的情况下将参数绑定到jquery回调
- 用函数参数绑定循环索引
- Angular的ng-repeat类参数绑定