PHP/HTML:使用Ctrl选择一定区域+ A
这是一个有点难以解释:我有一个输出与另一PHP文件一个简单的PHP文件中包括:PHP/HTML:使用Ctrl选择一定区域+ A
<?php include("file.php"); ?>
我想要做的是只在第一页显示部分内容。所以我用溢出来创建一个滚动条窗口:
<div style="height: 130px; width: 800px; border: 1px solid #CCCCCC; overflow: auto;"> <?php include("file.php"); ?>
</div>
一切都很好。但是现在我想添加另一个功能:当你在这个溢出区域内单击并按下Ctrl + A时,只应选择溢出区域中的部分(而不是整个页面)。
我试过使用HTML框架,它给了我想要的功能,但溢出的PHP文件没有得到解析。有没有办法做到这一点,仍然有PHP文件被解析?
回答:
您有几种选择
不包括通过IFRAME
我不知道你是怎么做到的链接,但帧有超过什么是服务器解析没有影响。 IFrame或帧,只是定期发出GET请求,然后服务器决定是否解析请求的文件。
file1.php
<style> .document {
height: 130px;
width: 800px;
border: 1px solid #CCCCCC;
}
</style>
<iframe src="file2.php" class="document" />
包括进入限制的 “全选”
如果你只希望包括 “文本”(谁知道一个元素,它可能是...)。考虑将你包含的文件放入textarea
。
file1。PHP
<style> .document {
height: 130px;
width: 800px;
border: 1px solid #CCCCCC;
}
</style>
<textarea class="document"><?php include('file2.php'); ?></textarea>
古怪的办法:抓 “Ctrl + A”,并申请CONTENTEDITABLE一会儿
CONTENTEDITABLE领域限制他们的 “全选”。观看演示here
file1.php
<style> .document {
height: 130px;
width: 800px;
border: 1px solid #CCCCCC;
}
</style>
<div class="document"><?php include('file2.php'); ?></div>
$(window).bind('keydown', function(e) {
if(event.ctrlKey && event.keyCode == 65) {
var self = $('.document').attr('contenteditable', '');
window.setTimeout(function() {
self.removeAttr('contenteditable');
}, 20);
}
});
使用CONTENTEDITABLE有1种优势利用textranges选择的内容:点击您的包括文档之外时,页面上的所有文本被选中(而不是强制“只选择包含文件”功能)。
回答:
它可能可以拦截与javascript的组合键。如果你设法拦截它,那么你可能会突出显示你需要的部分。请参阅here了解可以和不可以完成的更详细的分析。
编辑:
我已经在Firefox 13核实这一点,似乎拦截组合键Ctrl + A
$(window).keydown(function(event) { if(event.ctrlKey && event.keyCode == 65) {
console.log("Ctrl+A event captured!");
event.preventDefault();
}
});
也许你可以在里面插入代码,选择文本的部分你希望选择。
编辑2:如何选择文本:
我发现this帖子里面介绍了如何选择文本(高亮显示鼠标)。我把它放在一起得到这个:
$(window).keydown(function(event) { if(event.ctrlKey && event.keyCode == 65) {
console.log("Ctrl+A event captured!");
selectText('test');
event.preventDefault();
}
});
function selectText(element) {
var doc = document
, text = doc.getElementById(element)
, range, selection
;
if (doc.body.createTextRange) { //ms
range = doc.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) { //all others
selection = window.getSelection();
range = doc.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
再次,在Firefox 13中,这似乎工作。将需要选择的div的ID作为参数传递给selectText()调用。
以上是 PHP/HTML:使用Ctrl选择一定区域+ A 的全部内容, 来源链接: utcz.com/qa/260578.html