2016-05-29 15 views
1

私はこの質問を心からお詫びしますが、これはJavaScriptのコーディングの72時間目です。私にはわからない理由があります。外部jsファイルからonclickのようなトリガjsイベント

外部のjsファイルからonclickのようなイベントハンドラを起動できる必要があります。これは私のHTMLで私のファイルをリンクした方法です。

<header> 
<h1>McMac editing</h1> 
<meta charset="utf-8"> 
<script src="JQuery.js"></script> 
<script src="index.js"></script> 
</header> 

これは、index.jsを設定する方法です。

var capture = document.getElementById("capture"); 
capture.onload = function(){console.log="load";}; 

私は最終的にはコルドバを使用することになり、それが中にポップアップされていない、私は私の現在の設定「負荷」で今、この作業を取得し、する必要がある理由JSが無効になっていることインラインので、これがあると言う私のコンソール。

もう一度、私は質問をお詫びしますが、私は何をすべきか分かりません。

+3

'関数(){にconsole.log( "負荷");};' – Rayon

+0

@FARSO​​S BULSARA要素 "捕捉" は何か? (form?id?...) – Ehsan

+0

あなたのHTMLセクションには、 "capture" id –

答えて

0

HTMLコード:

<html> 
<head> 
<title></title> 
<style> 
    #capture{ 
     width: 200px; 
     height: 200px; 
     background-color: aqua; 
    } 
</style> 
</head> 

<body> 
    <div id="capture"></div> 
    <script src="index.js"></script> 
</body> 
</html> 

index.js

var ele = document.getElementById("capture"); 
ele.onclick = function() { 
    console.log("click"); 
} 

HTMLコード:

<html> 
<head> 
<title></title> 
<style> 
</style> 
</head> 
<body id="capture" > 
    <script src="index.js"></script> 
</body> 
</html> 

のonloadは、ほとんどの場合、本体要素内で使用されindex.js:

var ele = document.getElementById("capture"); 
ele.onload = function() { 
    console.log("load"); 
} 
0

少し違ったやり方でやろうとしました。

INDEX.JS

$(document).ready(function(){ 
    console.log("Loaded"); 
    // var capture = document.getElementById("capture"); 
    $("#capture").click(function(){ 
     console.log("load"); 
     alert("Hello!"); 
    }); 
}); 

YOUR HTML

<html> 
    <head> 
     <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 
    <h1>McMac editing</h1> 
    <meta charset="utf-8"> 
    <script src="bower_components/jquery/dist/jquery.js"></script> 

    <script src="index.js"></script> 
    </head> 
    <body ng-app=""> 
      <div id="capture" style="width:100px;height:100px; background-color:#ddd;padding:2; text-align:center; font-weight:bold;"> 
     Click Here For External JS function Trigger. 
     </div> 
    </body> 
</html> 

私はjqueryのためのパスが亭のコンポーネントであるので、亭を使用しています。

0

「キャプチャ」が定義されているHTML部分を表示すると、簡単な解決策が得やすくなると思います。 index.jsのjavascriptコードの宣言は、HTMLコードの内容によって異なります。

の考慮事項:

1)あなたのindex.jsはあなたのhtmlファイルをウィット同じフォルダにある必要があります。

2)あなたのindex.jsでは、 'var capture = document.getElementById( "capture");'を宣言しているので、 'capture'はHTMLコード内の要素のIDでなければなりません。

3)ここでonloadイベントを使用します。 Webページがすべてのコンテンツを完全にロードした後でスクリプトを実行するために、通常は 'body'要素とともにonloadが使用されます。

あなたのhtml body要素のIDがキャプチャではない場合は、おそらくコンソールに何も表示されていない可能性があります。より具体的な回答が必要な場合は、HTMLコードを表示してください。

私はこれが役に立ちそうです。

2

このコードvar capture = document.getElementById("capture");を使用してdomから取得する必要があるときにロードされていない「キャプチャ」要素にアクセスしようとしています。次の文ではcapture.onload = function(){}と書いてあります。その時点で "capture"という名前の要素があれば、nullオブジェクトをcaptureに返します。

がnull

のプロパティ 'のonload' を設定することはできませんあなたはそれを修正するには、2つの方法body要素の後

1. 負荷index.js

<html> 
. 
. 
</body> 
<script src="index.js" type="text/javascript"></script> 
</html> 

を持っています2.すべてのbody要素がdomにロードされるまで待ちます(JQueryを使用しない場合)。

document.addEventListener("DOMContentLoaded", function(event) 
{ 
     //Your code 
     var capture = document.getElementById("capture"); 
     capture.onload = function() 
     { 
      console.log="load"; 
     }; 
} 
関連する問題