是否可以在键入单词时使用jquery切换到新的样式表(不是在文本框中,只是键入)?我正在尝试在我的网站上创建一个easteregg,但我不确定从哪里开始更换样式表。
答案 0 :(得分:1)
您的问题有几个部分。
要侦听不是来自输入字段的击键事件,您可以将事件处理程序附加到文档对象并侦听keypress
事件,并且您可以收集键入的键。查看该事件的事件数据结构。在jQuery中,您可以使用$(document).keypress(fn)
方法。
要更改样式,最简单的方法是只添加一个CSS类,以便容器具有一组样式规则,当容器上存在该类时,这些规则会更改内容。这比通过实际更改样式表更简单,更容易跨浏览器工作。在jQuery中,您可以使用$("#whatever").addClass("foo")
方法。
答案 1 :(得分: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
是您检查点击事件或任何您想要的内容
答案 2 :(得分: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.
}
});