SQLの窓

2012年12月08日


SyntaxHighlighter 2.0.296 用 貼り付けコード作成(3) : data-name 仕様





ブラシ     幅を固定 TAB幅 Font size
SyntaxHighlighter.all()を使う   単独記事で動作するようにする
ハイライト行 a-b と指定できます
※ ,と併用はできません




posted by at 14:43 | JavaScript | このブログの読者になる | 更新情報をチェックする


2010年08月19日


右クリックメニューのプロテクト

ヘッド部分に記述する事を想定しています。無名関数を登録しているので解除はできないので、あまり誰にもメリットは無いと思いますが、方法としては容易です。
<script type="text/javascript">

if (window.attachEvent){
	document.attachEvent('oncontextmenu', function(){ return false; });
}
else {
	document.addEventListener('contextmenu', function( event ){ event.preventDefault();}, false);
}

</script>

onload 後に body に対して イベント追加したほうがオーソドックスだと思いますが多少複雑です
※ Google Chrome は、onload 後で無くても body が存在するようです。

▼ jQuery だと以下のようにして動作しました(内部でうまく IE を扱っているようです)。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function(){
	$(document).bind("contextmenu",function(event){
		event.preventDefault();
	});
});
</script>



posted by at 20:13 | JavaScript | このブログの読者になる | 更新情報をチェックする


2010年07月09日


JavaScript による入力制限( attachEvent と addEventListener を使った場合 )

JavaScript による入力制限( 0〜9 と BackSpace と左右矢印キーしか入力できないフィールド )
のイベントを attachEvent と addEventListener で登録しています。
メソッドで登録した場合、function の第一引数には、イベントオブジェクトが
引き渡されます。
<script type="text/javascript">

function numField(evt) {

	var btype = window.navigator.userAgent.toLowerCase();

	// *************************************************
	// IE、Opera
	// *************************************************
	if ( btype.indexOf("msie") > -1 || btype.indexOf("opera") > -1	) {
		if ( 48 <= evt.keyCode && evt.keyCode <= 57 ) {
			return;
		}
		if ( evt.keyCode == 8 ) {
			return;
		}
		if ( btype.indexOf("opera") > -1 ) {
			if ( evt.keyCode == 37 || evt.keyCode == 39 ) {
				return;
			}
		}

		evt.returnValue = false;
	}
	else {
		if ( 48 <= evt.charCode && evt.charCode <= 57 ) {
			return;
		}
		if ( evt.charCode == 0 ) {
			if ( evt.keyCode == 8 ) {
				return;
			}
			if ( evt.keyCode == 37 || evt.keyCode == 39 ) {
				return;
			}
		}
		evt.preventDefault();
	}

}

function numKeyDown(evt) {

	var btype = window.navigator.userAgent.toLowerCase();

	// *************************************************
	// IE
	// *************************************************
	if ( btype.indexOf("msie") > -1	) {
		if ( evt.keyCode == 46 ) {
			evt.returnValue = false;
		}
	}
	// *************************************************
	// Chrome
	// *************************************************
	if ( btype.indexOf("chrome") > -1	) {
		if ( evt.keyCode == 46 ) {
			evt.preventDefault();
		}
	}

}

</script>

<INPUT id="num" type=text>

<script type="text/javascript">

var obj = document.getElementById("num")

// *************************************************
// IE 用
// *************************************************
if (window.attachEvent){
	obj.attachEvent('onkeypress', numField);
	obj.attachEvent('onkeydown', numKeyDown);
}
// *************************************************
// IE 以外
// *************************************************
else {
	obj.addEventListener('keypress', numField, false);
	obj.addEventListener('keydown', numKeyDown, false);
}

</script>



posted by at 09:07 | JavaScript | このブログの読者になる | 更新情報をチェックする