今、私はonclickをトリガするjavascript関数を持っています。しかし、私は、DOMがロードされたときに同じ関数をトリガする必要があります。しかし、コードの動作に続いて、私はビューの真ん中に 'script'タグを入れたくありません。 bodyタグから関数を呼び出すことはオプションではありません。私はこれを実装したい場所のページロードでjavascript関数を実行
<script>document.addEventListener("DOMContentLoaded",function(){extractions.RefreshCheck(@check.ID)});</script>
コードスニペット:
@foreach (var check in Model.FailedChecks)
{
<li class="@(check.IsOK ? Html.Raw("bg-success") : Html.Raw("bg-danger")) " cid="@check.ID">
@Html.ActionLink(check.Display, "XList", "XList", new { filter = check.GetQuery(), Layout = check.Layout }, new { target = "_blank" });
<span class="glyphicon glyphicon-refresh" onclick="extractions.RefreshCheck(@check.ID);" onload="initAutoRefresh"></span>
@*<script>document.addEventListener("DOMContentLoaded",function(){extractions.RefreshCheck(@check.ID)});</script>*@
</li>
}
上記のコードは動作しますが、私は、私の見解では、スクリプトタグを望んでいません。だから私はJavaScriptを 'onload'イベントリストを使用して、次のコードを追加しようとしたが動作しません。私はこれが問題だと思う。
@foreach (var check in Model.FailedChecks)
{
<li class="@(check.IsOK ? Html.Raw("bg-success") : Html.Raw("bg-danger")) " cid="@check.ID">
@Html.ActionLink(check.Display, "XList", "XList", new { filter = check.GetQuery(), Layout = check.Layout }, new { target = "_blank" });
<span class="glyphicon glyphicon-refresh" onclick="extractions.RefreshCheck(@check.ID);" onload="extractions.InitAutoRefresh()"></span>
</li>
}
そして、私のInitAutoRefresh機能:クリックで正常に動作しますRefreshCheck
var extractions= {
InitAutoRefresh: function() {
if (document.readyState === 'complete') {
RefreshCheck();
console.log("function already loaded in DOM")
} else {
document.addEventListener('DOMContentLoaded', function() {
RefreshCheck();
console.log("function loaded in dom");
});
}
},
RefreshCheck: function(intCheckId){
$('li[cid=' + intCheckId + ']').addClass('bold');
$.get(window.location + '/Home/UpdateIntegritycheck?checkId=' + intCheckId, function(data){
$('li[cid='+intCheckId+']').replaceWith(data);
});
}
}
機能(すなわち、それはレコードを更新)。あなたのご意見をお寄せいただければ幸いです。ありがとうございました。
ありがとう、非常に有望に見えます。間違いなくショットを与えるでしょう。答えは –
ありがとう。今日は新しいトリックを学びました。私の質問が価値があると思うなら、私に最高の投票をしてください。 –