単語が入力されたときに(テキストボックスではなく、入力しただけで)jqueryを使用して新しいスタイルシートに切り替えることは可能ですか? サイトでイースターエッグを作成しようとしていますが、スタイルシートの切り替えをどこから始めればよいかわかりません。
3 に答える
1
あなたの質問にはいくつかの部分があります。
入力フィールドから発生しないキーストロークイベントをリッスンするには、イベントハンドラーをドキュメントオブジェクトにアタッチしてイベントをリッスンし、その
keypress
イベントのイベントデータ構造を調べて入力されたキーを収集できます。jQueryでは、このメソッドを使用できます$(document).keypress(fn)
。スタイルを変更するには、CSSクラスを追加してコンテナを追加し、そのクラスがコンテナに存在するときに変更する一連のスタイルルールを設定するのが最も簡単な方法です。これは、実際にスタイルシートを変更するよりもはるかに簡単で、クロスブラウザで作業するのがはるかに簡単です。jQueryでは、メソッドを使用するだけです
$("#whatever").addClass("foo")
。
于 2013-02-02T06:35:44.287 に答える
0
これを試してください:http://jsfiddle.net/UYapL/2/
$('button').click(function () {
$('[rel="stylesheet"]').attr('href', 'new.css');
alert($('[rel="stylesheet"]').attr('href'));
});
// with keycontrols
$(window).keyup(function (e) { // (ctrl+i)
if (e.ctrlKey && e.which == 73) {
$('[rel="stylesheet"]').attr('href', 'new.css');
alert($('[rel="stylesheet"]').attr('href'));
}
});
あなたがこのようなものを探しているかどうかはわかりません:
// for specific word g=71 e=69 o=79
$('body').append('<span id="code" style="display:none;"></span>');
$(window).keyup(function (e) {
wrd = e.which;
code = $('#code').append(wrd);
if ($('#code').text()=='716979') { // geo
$('[rel="stylesheet"]').attr('href', 'new.css');
alert($('[rel="stylesheet"]').attr('href'));
$('#code').text(''); // reset it here.
}
});
于 2013-02-02T06:34:08.927 に答える
0
あなたはこれを試すことができます:
<link id="css1" href="normal.css" type="text/css" rel="stylesheet">
<script>
if(something written)
document.getElementById('css1').href = 'another_one.css';
</script>
something written
クリックイベントのチェックか、あなたが望むものです
于 2013-02-02T06:19:42.237 に答える