我在JavaScript中动态构建了一个按钮,这将包含一个onClick事件。 onClick事件需要关注存储在变量中的字段。动态构建onClick按钮
我找不到使用字段变量本身的方法,因此改为尝试使用JQuery对象中的field.selector属性,它将包含“”。
以下是建筑的代码片段。
InvalidField.prototype.getMessageStructure = function(){
var structure = '<div class="invalidMessage"><span>' + this._message + '</span>
<button class="inputButton"
Value="Go To Field"
onclick=\'goToFieldFromAlert($(\'' + this._field.selector + '\'))\'
/>
</div>';
return structure;
};
这是输出:
<button class="inputButton"
value="Go To Field"
onclick="goToFieldFromAlert($(" input[name="applicant.email" ]'))'="">
</button>
正如你所看到的,报价也不会出把正确的点击,从而打破。
任何人都可以预见一个更好的方式来执行此功能,或更正报价?我从这SO Answer看到,DOM不尊重当前导致我问题的引用。
亲切的问候。
只需转义引号? – Nit 2014-09-04 09:46:11
在jQuery中,作为一般准则,将事件处理程序附加到元素。不要使用'onclick'属性。对于属性'onclick =“...”''无论如何,双引号也是标准的:) – 2014-09-04 09:49:21
@TrueBlueAussie在onclick事件中使用双引号作为标准的问题在于jquery.selector在其中引用了引号,除非我使用.replace,否则它就会逃跑,然后开始变得更加混乱。 – 2014-09-04 10:13:54