私はmvc5を使用しています。 jQueryをテストに含めないでください。 _Layout.cshtml:
<!DOCTYPE html>
<html lang="en-US">
<head>
<title></title>
</head>
<body>
@RenderBody()
</body>
</html>
Test.cshtml:
<script type="javascript/text">
function myFunction() {
alert("its is working");
}
</script>
<button onclick="myFunction()">Click me</button>
:にReferenceError:MyFunctionをが定義されていないが
と結果コード:
<!DOCTYPE html>
<html lang="en-US">
<head>
<title></title>
</head>
<body>
<button onclick="myFunction();">Click me</button>
<script type='text/javascript' >
(function($){
function myFunction() {
alert("I am working");
};
})(jQuery);
</script>
</body>
</html>
私は、このエラーについて多くを読んだことがあると答えを設立していません。 JavaScriptコードを誰が折り返しますか?それをキャンセルするフラグはありますか?問題を解決する他の方法はありますか?
インライン関数は、グローバルスコープにアクセスすることを想定しています。 'IIFE'で関数' definition'をラップしません。 – Rayon
とインライン関数は、特にあなたがすでにコミットしているので、 using jQuery – Alnitak
この特定の関数は、jQueryの 'document.ready'イベントハンドラを実行して、コードが実行される前にDOMが完全にロードされていることを確認する方法の1つです。通常は、スクリプトでDOM要素を参照する必要がある場合にこれを行います。そうすることで、その前に存在することを確認できます。この問題を解決するには、 'myFunction()'をその匿名関数の外に移動してグローバルスコープにするだけです。 – Archer