包含onclick
事件下面的span標籤不工作Javascript方法參數逃避
var test="<span onClick="gotoNode(\'' + result.name + '\',\'' + result.xaxis + '\',\'' + result.yaxis + '\',\'' + result.detail + '\',\'' + result.status + '\')" />"
上述轉義字符串有一些問題與方法調用。
我該如何解決?
包含onclick
事件下面的span標籤不工作Javascript方法參數逃避
var test="<span onClick="gotoNode(\'' + result.name + '\',\'' + result.xaxis + '\',\'' + result.yaxis + '\',\'' + result.detail + '\',\'' + result.status + '\')" />"
上述轉義字符串有一些問題與方法調用。
我該如何解決?
如果你在JavaScript創建此創建一個元素,那麼第一個單引號需要轉義。
function gotoNode(name, xaxis, yaxis, detail, status) {
alert("name = " + name + "\r\nxaxis = " + xaxis + "\r\nyaxis = " + yaxis + "\r\ndetail = " + detail + "\r\nstatus = " + status);
}
var result = { name: "name", xaxis: "xaxis", yaxis: "yaxis", detail: "detail", status: "status" };
var htmlText = '<input value="Button" type="button" onclick="gotoNode(\'' + result.name + '\',\'' + result.xaxis + '\',\'' + result.yaxis + '\',\'' + result.detail + '\',\'' + result.status + '\')" />';
$("#lonely").append(htmlText);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="lonely"></div>
一般來說,任何引用類型,你開始(出'
或"
),你需要逃避要在字符串中使用,並沒有逃脫同樣的同一類型鍵入以終止字符串。您可以保留其他類型而無需轉義。
對於您的編輯版本,如果您希望將這些結果變量替換爲它們的值,這應該可以工作。
var test = "<span onclick=\"gotoNode('" + result.name + "','" + result.xaxis + "','" + result.yaxis + "','" + result.detail + "','" + result.status + "')\" />";
您是否使用php來生成輸出?
那麼你應該嘗試
echo "<input type=\"button\" onClick=\"gotoNode(\" + result.name + \",\" +
result.xaxis + \",\" + result.yaxis + \",\" + result.detail + \",\" +
result.status + \")\" />";
解決您的問題請問?目前還不清楚你想要什麼 – trainoasis
儘量不要使用內嵌javascript。 – georg
刪除示例代碼可能不是最好的編輯。 – Klors