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

回到顶部