0

私はjsとjqueryにかなり慣れていないので、かなり長い間いくつかのコードに苦労しています。同様の質問がいくつか投稿されていますが、解決策を実装しようとしても、必要な動作が得られません。
ツイートが読み込まれ、URL が含まれているものと含まれていないものがあります。ユーザーがツイートの URL をクリックすると、新しいウィンドウで開くようにします。onclick関数で何かが起こっていると確信しています(変数に正しく割り当てられていない可能性がありますか?)onclickを削除すると、取り込まれたすべてのURLに対して新しいウィンドウが開かれるためです。
最初に、リンク変数を作成します残りのテキストを引き出して、URL をハイパーリンクとして追加できるようにします。ユーザーが URL をクリックすると、変数 link1 (API から直接取得したもの) を新しいウィンドウで開きます。

           var link="";
           if(tweet.entities.urls[0]!=null){
            if(tweet.entities.urls[0].url!=null){
                var link1=tweet.entities.urls[0].url;
                link=replaceLinks(link1);
                $('link').live('click', function(){
                    window.open(link1);
                });
        }
        }
           if(tweet.geo==null){
                $("#geo").append('<p><img src="'+tweet.profile_image_url+'" widt="48" height="48" />'+tweet.text+link+'</p>');
          }

他の$('link').live('click', function(){多くの onclick 割り当てを試しましたが、行は私が試した最後の方法です。私はこれをFirefoxでテストしており、問題が発生した場合に備えてaptanaを使用しています。もっと多くのコードを含めますが、多くのテストの後、問題は含めた行にあると本当に思いますが、問題を特定するのに十分でない場合は喜んでもっと含めます. これは私の最初の Web アプリなので、明らかに間違ったことをしている場合は、それが何であるか教えてください! 本当にありがとう!

4

1 に答える 1

1

あなたのリンクのIDが何であるかについて混乱しています。リンク変数を引用符で囲みます。リンク ID が含まれていると想定される場合は、次のようになります。

$(link).live('click', function(){
    window.open(link1);
});

link がリンクの実際の ID またはクラスである場合、次のようになります。

$('#link').live('click', function(){ // id
$('.link').live('click', function(){ // class

編集

また、使用している jQuery のバージョンによっては、live()は非推奨であり、on()に置き換える必要があることに注意してください。

$(selector).on('click', function(){
    window.open(link1);
});
于 2012-08-04T17:31:00.603 に答える