在过去的几天里,另一个问题一直在盯着我.正如您可能从我的其他问题中看到的那样,我正在创建一些思维导图软件.所以(非常简化)我有两个div.一个是页面上的正方形,另一个在div内部,大约是可拖动的10倍.这样可以将对象放置在屏幕上,然后稍微移动到侧面,同时添加另一个对象等.我通过创建外部div可滚动来实现这一点.
我遇到的问题与java脚本中的鼠标位置有关.如果我将鼠标放在div中的任何位置它将不正确,因为我将内部div的大小减半到顶部和左侧(因此用户有效地看着画布的中间并且可以按照他们喜欢的任何方式) .我已经尝试了数十种不同的鼠标坐标功能,但这些功能似乎都不起作用.我在网络上找到的应该是跨浏览器的示例是:
function getMouse(e) {
var posx;
var posy;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft + document.getElementById("canvas").scrollLeft;
posy = e.clientY + document.body.scrollTop + document.getElementById("canvas").scrollTop;
}
} //getMouse
Run Code Online (Sandbox Code Playgroud)
但即使这样也行不通.我几乎可以肯定错误是因为我的内部div是可拖动的.希望我在尝试解释时有一些意义,但如果我没有这里是一个非常简单的jsfiddle,试图证明我的情况(虽然这里没有鼠标点击,纯粹是为了演示我的div结构).在我制作的产品中,用户将双击画布并显示一个新对象,因此鼠标坐标需要正确的原因.
我希望有人可以帮助我.
提前致谢.
编辑:未能提到我的部分应用程序,我使用JQuery所以无论是否有JQuery的解决方案都没问题.再次感谢.
用文本替换书签的推荐c#.net代码看起来很直接,我在很多网站上看到了相同的代码(包括你的,从2009年9月的帖子开始)然而,我无法通过错误
范围无法删除.在Microsoft.Office.Interop.Word.Range.set_Text(String prop)
(我在Windows 7和Word 2010 14.0中使用VS 2010).
我的代码:
private void ReplaceBookmarkText(Microsoft.Office.Interop.Word.Document doc, string bookmarkName, string text)
{
try
{
if (doc.Bookmarks.Exists(bookmarkName))
{
Object name = bookmarkName;
// throws error 'the range cannot be deleted'
doc.Bookmarks.get_Item(ref name).Range.Text = text;
}
}
Run Code Online (Sandbox Code Playgroud) 强调事件的体系结构中的命令和事件之间有什么区别?我能看到的唯一区别是命令通常由系统外的actor来源/调用,而事件似乎是由处理程序和系统中的其他代码提供的.但是,在我看到的许多示例应用程序中,它们具有不同(但功能相似)的接口.
如果我有这样的代码:
try
{
Thread t = new Thread(new ThreadStart(wc.LocalRunProcess));
t.IsBackground = true;
t.Start();
}
catch (Exception ex)
{
//do something with ex
}
Run Code Online (Sandbox Code Playgroud)
线程抛出的异常是否t会被catch块捕获?
我有一些常量数据,我想存储在ROM中,因为它有相当数量,我正在使用内存受限的ARM7嵌入式设备.我试图使用看起来像这样的结构来做到这一点:
struct objdef
{
int x;
int y;
bool (*function_ptr)(int);
some_other_struct * const struct_array; // array of similar structures
const void* vp; // previously ommittted to shorten code
}
Run Code Online (Sandbox Code Playgroud)
然后我创建并初始化为全局变量:
const objdef def_instance = { 2, 3, function, array, NULL };
Run Code Online (Sandbox Code Playgroud)
然而,尽管const在开始时这会占用相当多的RAM .更具体地说,它显着增加了RW数据量,并最终导致设备在创建足够实例时锁定.
我正在使用uVision和ARM编译器,以及RTX实时内核.
有人知道为什么这不起作用或者知道在ROM中存储结构化异构数据的更好方法吗?
更新
谢谢大家的回答,并为不早点回复你们而道歉.所以这是迄今为止的分数和我的一些额外的观察.
可悲的是,__attribute__对RAM与ROM的影响为零,同样如此static const.我还没有时间尝试组装路线.
不过,我的同事和我发现了一些更不寻常的行为.
首先,我必须注意,为了简单起见,我没有提到我的objdef结构包含一个const void*字段.该字段有时会从定义为的字符串表中分配一个值
char const * const string_table [ROWS][COLS] =
{
{ "row1_1", "row1_2", "row1_3" },
{ "row2_1", "row2_2", "row2_3" }, …Run Code Online (Sandbox Code Playgroud) 这是我的功能:
function loop($id){
unset($result, $sql, $query);
$sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
$query = mysql_query ( $sql )or die(mysql_error());
$result = mysql_fetch_assoc ( $query )or die(mysql_error());
if ( $result['parent_id'] != 0 ) {
echo $result['parent_id']."... looping<br>";
loop($result['parent_id']);
} else {
echo $result['parent_id']."... done loop";
return $result['parent_id'];
}
}
echo loop('2');
Run Code Online (Sandbox Code Playgroud)
我正在回应parent_id进行测试.这是输出到浏览器的内容:
1 ...循环
0 ...完成循环
在我不确定发生了什么的情况下echo loop('2'),return $result['id']如果我注释掉echo函数中的行,则不会回应任何内容.我已经尝试通过改变返回来测试,但return 'foo';仍然没有.
有任何想法吗?
我需要在Python中使用回调类功能,我多次向Web服务发送请求,每次都更改参数.我希望这些请求同时发生而不是顺序发生,所以我希望异步调用该函数.
它看起来像asyncore是我可能想要使用的,但我看到它的工作原理的例子看起来都像是矫枉过正,所以我想知道是否还有另一条道路我应该倒下.关于模块/流程的任何建议?理想情况下,我想以程序方式使用它们而不是创建类,但我可能无法绕过它.
给定一种形式,我想在呈现字段之前更改其值。这是我正在尝试的:
class RequiredFormSet(BaseFormSet):
def add_form(self):
tfc = self.total_form_count()
self.forms.append(self._construct_form(tfc))
if self.is_bound:
data = self.management_form.data.copy() # make data mutable
data[TOTAL_FORM_COUNT] = self.management_form.cleaned_data[TOTAL_FORM_COUNT] + 1
self.management_form.data = data
else:
self.extra += 1
Run Code Online (Sandbox Code Playgroud)
我以为所有内容都存储在中data,但是我想那data已经传递到各个字段(或小部件)了吗?那我需要精确修改什么属性?
我想知道如何在视频结束时停止MediaElement.js播放器.我想知道如何在视频结束时停止mediaelement.js播放器.我希望保持最后一帧而不是倒回来显示现在的第一帧.
是否有可能改变这种行为?
以下是Youtube视频中的嵌入代码示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
</head>
<body>
<div>
<object width="1280" height="750">
<param name="movie" value="https://www.youtube-nocookie.com/v/WZ-1lfammjk?fs=1&hl=en_US&rel=0"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="https://www.youtube-nocookie.com/v/WZ-1lfammjk?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1280" height="750"></embed>
</object>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我通过W3C HTML 4.01严格验证器,并得到以下错误:
Line 13, Column 115: end tag for element "PARAM" which is not open
Line 14, Column 55: end tag for element "PARAM" which is not open
Line …Run Code Online (Sandbox Code Playgroud) c# ×2
javascript ×2
arm ×1
asynchronous ×1
asyncore ×1
bookmarks ×1
c++ ×1
command ×1
cqrs ×1
django ×1
django-forms ×1
embed ×1
events ×1
exception ×1
function ×1
html ×1
html5 ×1
html5-video ×1
jquery ×1
memory ×1
mouse ×1
nested-loops ×1
php ×1
python ×1
scrollable ×1
w3c ×1
youtube ×1