2009-06-11 15 views
18

アンカータグが付いたページがあります。 JavaScriptでは、いくつかのif-else条件に基づいてアンカータグの属性をHREFに動的に設定しています。今度は、プログラムでアンカータグのclickイベントを呼び出すとします。私は以下のコードを使用しましたが、成功しませんでした。JavaScript:アンカータグのクリックイベントをJavaScriptから呼び出す

var proxyImgSrc="CostMetrics.aspx?Model=" + model +"&KeepThis=true&TB_iframe=true&height=410&width=650"; 

document.getElementById("proxyAnchor").href=proxyImgSrc; 
document.getElementById("proxyAnchor").onclick; 

どのように進むべきか教えてください。このリンクにjQueryライトボックス実装(thickbox)があります。

よろしくお願いします。前もって感謝します。

+0

ファイルをダウンロードするパスを設定することはできますか? これを使用するのは、DOWNLOADSフォルダにダウンロードするだけなので私はhtmlファイルの場所に保存したい。 –

答えて

63

あなたはjQueryのは、なぜこれだけしないで、その後インストールしている場合:私たちは[0]最初の要素を指定するために使用

$('#proxyAnchor')[0].click(); 

注意を。 jQueryセレクターはjQueryインスタンスを返し、hrefではなくjavascriptハンドラーをクリックするだけでclick()を呼び出します。あなたの元のコードがある理由をhttp://jsfiddle.net/8hyU9/

:実際の要素をクリック()を呼び出す(で返されると、[0])の違いを説明するために

のhrefなどの例は、ここを参照してください内のリンクをたどるだろう動作していない - onclickを呼び出していて、onclick()ではない可能性があります。かっこがなければ、JavaScriptはonclickプロパティに割り当てられているものを返し、実行しようとしません。

私が何を意味するか確認するために次の簡単な例を試してみてください。

var f = function() { return "Hello"; };  
alert(f); 
alert(f()); 

予想通り第二は、「こんにちは」という単語が表示されますしながら、最初は、関数の実際のテキストが表示されます。

+1

なぜdownvoteですか? – samjudson

+1

ありがとうSamjudson.ITは – Shyju

+2

を使用しました。「アンカーで定義されたhrefに従ってください。」[この回答は失敗します](http:// jsfiddle。net/SNdHW/show /) –

1

clickイベントを呼び出すと思います。 "onClick"ではなくまた、メソッドを呼び出すときは、括弧()を含めてください。 ((と)で終わる)メソッドと(と)で終わらない属性やプロパティを混同しないでください。

// Using jQuery - Which you tagged... 
$("#proxyAnchor").attr("href", proxyImgSrc).click(); 
+0

はい。クリックイベント – Shyju

11

あなたはこのようなイベントをクリックして呼び出す必要があります:

​​3210

しかし、あなたはそれをしたい場合は、あなたのケースで、あなたは、リダイレクトページにウィンドウの位置を設定する必要があります。

+0

ファイルをダウンロードする場所を設定することはできますか? これを使用するのは、DOWNLOADSフォルダにダウンロードするだけなので私はhtmlファイルの場所に保存したい。 –

1

私は、これはあなたが後にしているものであると信じて:即時ページの変更については

var proxyImgSrc="CostMetrics.aspx?Model=" + model +"&KeepThis=true&TB_iframe=true&height=410&width=650"; 
$("#proxyAnchor").attr('href', proxyImgSrc).trigger("click");; 
関連する問題