2016-10-15 7 views
0

私はこれで開くオプションページがあります。私は、オプションページを開くと新しいページ内のJavaScript関数が動作しないのはなぜですか?

<li class="small-icon options-panel"><a class='options-page' href="{TRESNJAPANEL_LINK}" 
title="Tresnja Options Panel" role="menuitem" onclick="window.open('{TRESNJAPANEL_LINK}', 
'newwindow', 'width=300, height=250, resizable=yes , 
scrollbars=yes'); return false;"><i class="fa fa-diamond" 
aria-hidden="true"></i>Tresnja Options Panel</a></li> 

はので、私は、チェックボックス、入力などでいくつかのオプションと機能を持っている...

を、私は機能があります。

function stickyheaddsadaer(obj) { 
    if($(obj).is(":checked")){ 
    alert("Yes checked"); //when checked 
    $("#page-header-inner").addClass("sticky"); 
    }else{ 
    alert("Not checked"); //when not checked 
    } 

} 

<input type="checkbox" name="TT_sticky_header" id="TT_sticky_header_function" 
value="{TT_sticky_header}" onclick="stickyheaddsadaer()"/> 
私は保存して終了オプションページをクリックしたときに、それは通常のページでは動作しませんので、この機能はのみ、内部のオプションページの作品

...

またはオプションのページの外に入力タイプ= "チェックボックス"を含めてこの関数を置くと、再び動作します....

オプションページの内部でjavascripが動作するように助けてください。

はあなたがonchangeないonclickを使用するstickyheaddsadaer()、その優れた内thisを逃したあなたに

+0

どこが「objのオブジェクトを渡していますか? –

答えて

0

をありがとうございました。

使用この:

<input type="checkbox" name="TT_sticky_header" id="TT_sticky_header_function" 
value="{TT_sticky_header}" onchange="stickyheaddsadaer(this)"/> 

の代わり:

<input type="checkbox" name="TT_sticky_header" id="TT_sticky_header_function" 
    value="{TT_sticky_header}" onclick="stickyheaddsadaer()"/> 
+0

ありがとうヘルプが、それはまだオプションページ内でのみ動作し、外ではない... javascript関数は外部に適用されていません – Bundyboy

関連する問題