jQueryファイルの内容は以下の通りで、内容の一部は省略しています。
(function ($){
...
...
...
function hideDiv()
{
// "vodmain" is the id of a div
$("#vodmain").hide();
}
})(jQuery);
HTMLコードの一部:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/myjquery.js"></script>
<!--
// if the function is defined like this, it can be invoked
<script type="text/javascript">
function hideDiv()
{
$("#vodmain").hide();
}
</script>
-->
<div id="vodmain" class="vodmain">
<img src="scene.jpg"/>
...
</div>
関数 'hideDiv' を呼び出す Java コード (アクティビティ内) を以下に示します。
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode == 4 && webView.canGoBack())
{
webView.goBack();
return true;
}
if(keyCode == 18 || keyCode == 19 || keyCode == 20 || keyCode == 21 || keyCode == 22)
{
webView.loadUrl("javascript:hideDiv()");
//webView.dispatchKeyEvent(event);
return false;
}
return super.onKeyUp(keyCode, event);
}
私の問題は、JS 関数が html ファイルに記述されている場合はアクティビティから呼び出すことができますが、jQuery ファイルに記述されている場合は呼び出すことができません。理由はわかりませんが、それは jQuery で関数を呼び出すだけなのか、それとも何か他の理由があるのでしょうか?