試圖阻止這段代碼在網頁加載時運行。Javascript onload MVC ASP .NET MVC
<input type="submit" class="btn btn-info col-md-pull-4" value="Download" id="mybutton" onclick="myFunction">
<script type="text/javascript">
function myFunction() {
document.getElementById("mybutton") = @api.function();
}
</script>
每當我加載頁面,這連接到web api並啓動api.function代碼。我只想在點擊按鈕時發生這種情況。
我該怎麼做呢?
我不認爲你包括了你所有的代碼,因爲只有當你點擊你發佈的按鈕時纔會調用該函數。如果你想知道什麼是調用它,那麼在執行時查看堆棧跟蹤。爲此,在函數中添加一行並編寫'debugger;',然後在開發人員/調試工具打開的情況下將頁面加載到選擇的瀏覽器中,該工具應當停止腳本執行。然後查看堆棧跟蹤並找出正在進行的調用。 – Igor
另外我/我們不知道'@ api.function()'做了什麼,你確定調用api不是從服務器而是從客戶端創建的嗎? – Igor
問題是服務器端代碼運行時調用服務器端代碼'@ api.function()'。 看看瀏覽器中的源代碼(打開頁面,查看源代碼) - 你會發現'@ api.function()'的結果被嵌入到源代碼中。 –