Blazor第6天_Blazor_在Blazor中去呼叫存取javascript

 

專案目錄嚇新建一個js
~\wwwroot\js\MyUtility.js

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function ShowAlertJs(message) {
    alert("Hello" + message);
}

function ReturnResult() {
    return confirm("Are you sure you want to delete?");
}

function GetFocus(id) {
    document.getElementById(id).focus();
}

function EnableAccordian() {
    $(function () {
        $("#accordion").accordion();
    });
}


至~\Pages\_Host.cshtml
進行全域引用


自行創建測試頁razor

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
@page "/javascript"
@inject IJSRuntime jsRuntime

<h3>Javascript</h3>
<button class="btn btn-primary" @onclick="@ShowAlert">Show Alert</button>
<br />
<button class="btn btn-primary" @onclick="@ShowConfirm">Show confirm</button>
<br />
<div>Confirm result : @result</div>
<input type="text" id="txt1" @onkeypress="@MoveFocus" />
<br />
<input type="text" id="txt2" />
<br />
<button class="btn btn-primary" @onclick="@ShowAccordian">Show Accordian</button>
<br />


<div id="accordion">
    <h3>Section 1</h3>
    <div>
        <p>
            Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
            ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
            amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
            odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
        </p>
    </div>
    <h3>Section 2</h3>
    <div>
        <p>
            Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
            purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
            velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
            suscipit faucibus urna.
        </p>
    </div>
    <h3>Section 3</h3>
    <div>
        <p>
            Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
            Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
            ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
            lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
        </p>
        <ul>
            <li>List item one</li>
            <li>List item two</li>
            <li>List item three</li>
        </ul>
    </div>
    <h3>Section 4</h3>
    <div>
        <p>
            Cras dictum. Pellentesque habitant morbi tristique senectus et netus
            et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
            faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
            mauris vel est.
        </p>
        <p>
            Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
            Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
            inceptos himenaeos.
        </p>
    </div>
</div>


@*<script>
      $( function() {
        $( "#accordion" ).accordion();
      } );
    </script>*@

@code {
    bool result = false;
    protected async Task ShowAlert()
    {
        await jsRuntime.InvokeVoidAsync("ShowAlertJs", "Jack");
    }

    protected async Task ShowConfirm()
    {
        result = await jsRuntime.InvokeAsync<bool>("ReturnResult");
    }

    protected async Task MoveFocus(KeyboardEventArgs e)
    {
        if (e.Key == "Enter")
            await jsRuntime.InvokeVoidAsync("GetFocus", "txt2");
    }

    protected async Task ShowAccordian()
    {
        await jsRuntime.InvokeVoidAsync("EnableAccordian");
        StateHasChanged();
    }



    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await jsRuntime.InvokeVoidAsync("EnableAccordian");
        }
    }
}









留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題