テキストをクリップボードにコピーするコードです。
System.setClipboardの第一引数にテキストを渡せばOKです。
System.setClipboard(text);
テキストをクリップボードにコピーするコードです。
System.setClipboardの第一引数にテキストを渡せばOKです。
System.setClipboard(text);
<&!~&>宣言部でメソッドを定義することができます。
<%!
private String myMethod (String str) {
// some code
return "ok";
}
%>
参考サイトはこちら:
よく出来ていると思います。
勉強になります。
siblings: function( elem ) {
return jQuery.sibling( elem.parentNode.firstChild, elem );
},
children: function( elem ) {
return jQuery.sibling( elem.firstChild );
},
そしてjQuery.sibling()の中身です!
nodeTypeが1の場合はelementノードの意味です。
nはループに使われて、elemは除外する要素です。
例えばsiblings()の場合は自分自身を除外しています。
for文の書き方も覚えとこう、、
javaでのIteratorのhasNext()関数みたいな動きをしていますね。
sibling: function( n, elem ) {
var r = [];
for ( ; n; n = n.nextSibling ) {
if ( n.nodeType === 1 && n !== elem ) {
r.push( n );
}
}
return r;
}
スクロールバーを最下部に移動するJavascriptです。
普通のJavascriptで書くと
function go_bottom(targetId){
var obj = document.getElementById(targetId);
if(!obj) return;
obj.scrollTop = obj.scrollHeight;
}
完全にjQueryで書くとこんな感じ
function go_bottom(targetId){
var $obj = $("#" + targetId);
if($obj.length == 0) return;
$obj.scrollTop($obj[0].scrollHeight);
}
これ以外はhiddenのinput項目を最下部に置いといて、
それをfocusするような技もありけど、、
指定した値が配列中にあれば、そのインデックスを返します。
配列に存在しなければ戻り値は”-1″になりますので注意してください。
var array = ["a", "b", "c"];
if ($.inArray("d", array) == -1) {
// d is not in array
}
下記のコードは間違いですよ。。。
if ($.inArray("d", array)) {}
パラメータで渡された値が配列であるかどうかを判別します。
戻り値はtrueかfalseです。
jQueryでマウス右クリックを無効にする方法です。
“contextmenu”のイベントはjQueryのドキュメントには乗ってませんが、
それのハンドラでreturn falseすることで簡単に実現できます。
$("document").bind("contextmenu", function(){
return false;
});
テキストボックスの文字を選択された状態にする方法とその解除方法です。
IEの場合selectボックスにselect()関数を使うとJavaScriptエラーになります。
Firefoxは大丈夫です。
function selectFocusText(element){
// for IE
if (element.nodeName == "SELECT") return;
element.select();
};
function unselectFocusText(){
// for IE
if (document.selection) {
document.selection.empty();
// for Firefox
} else if (window.getSelection) {
window.getSelection().removeAllRanges();
}
};
htmlにoptionが一つしかないselectboxがあるとします。
このようなselectを非表示にし、そのテキストラベルで表示させたいのもありですね。
//:only-childフィルタで子要素が一つしかない要素を選択
var $target = $("select :only-child");
$.each($target, function(index, item) {
// spanのhtmlを構築
var span = '' + $(this).text() + '';
// thisはoptionを指しているため、そのparentのselect要素を非表示
// 構築したspanを挿入
$(this).parent().hide().after(span);
});
selectボックスの先頭がblankのケースが結構あると思います。
その場合はラベル表示させたくないです。
なのでそれをフィルタするには、以下のようにfilter()を使います。
var $target = $("select :only-child").filter(function(index) {
return $.trim($(this).text()).length != 0;
});
jQueryにはblankを検出するメソッドがないため、上記のソースコードでは
$.trim()を利用して判断しています。
しかしこの$.trim()は遅いとの報告がありました。
そこでblankのテキストを検出するためのメソッドも提供されました。
$.trim()が2000msかかったものがこれだと0.5msになったようです。
blank: function( text ) {
return !text || !/\S/.test(text);
}
興味のある方はこの記事を参照してください。英語のサイトです。
Zipalong Blog » Blog Archive » jQuery: x1000 faster test for blank strings (on large strings)
toggle()の普通の使い方は多分皆さんご存知だと思います。
該当要素をクリックするたびに表示/非表示を切り替えます。
今日紹介するのはこのswitchパラメータ付のtoggleです。
swtich文を評価しtrueであれば要素を表示、falseであれば非表示です。
これで下記のコードがこのswtich付きのtoggle文なら一行ですみます。
if (name == "kinopyo") {
$("p").show();
} else {
$("p").hide();
}
これがこうなります。
$("p").toggle(name == "kinopyo");
どうですか?すごくないですか?
まさにjQueryの「The Write Less, Do More」ですよね。
ただし判断の条件文が行の最後になるので、
読みやすさは多少落ちると思います。
ちなみに、Googleの単語とよく似ているので、ついついtoogleと書いちゃいますorz