我在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