我正在尝试构建一个根据提供的输入加载的网页.基本上,我在javascript中处理事件处理时遇到了一些麻烦.来自python,如果我想在继续显示下一个对象之前等待特定的键盘输入,我会创建一个while循环并在其中放置一个键侦听器.
蟒蛇:
def getInput():
while 1:
for event in pygame.event.get(): #returns a list of events from the keyboard/mouse
if event.type == KEYDOWN:
if event.key == "enter": # for example
do function()
return
elif event.key == "up":
do function2()
continue
else: continue # for clarity
Run Code Online (Sandbox Code Playgroud)
在尝试找到在DOM/javascript中实现此方法的方法时,我似乎只是崩溃页面(我假设由于While循环),但我认为这是因为我的事件处理写得不好.另外,使用"element.onkeydown = function;"注册事件处理程序 我很难把头包起来,而setInterval(foo(),interval]并没有给我带来太大的成功.
基本上,我想要一个"监听"循环来为键X做一个特定的行为,但是当键Y被击中时要中断.
我知道这可能有点奇怪,但怀疑是一个疑问...在下列情况下会发生什么......
private void SendMail()
{
try
{
//i try to send a mail and it throws an exception
}
catch(Exception ex)
{
//so i will handle that exception over here
//and since an exception occurred while sending a mail
//i will log an event with the eventlog
//All i want to know is what if an exception occurs here
//while writing the error log, how should i handle it??
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我必须具有这些架构的表:
users(id, name, email)
user_details (id, user_id, physical_address, otherinfo)
Run Code Online (Sandbox Code Playgroud)
当我尝试在第一个表上使用设置关系时,我想使用杂货杂货在一个网格中显示两个表的所有内容,如下所示: 注意:我已经减少了渲染视图的部分;
$crud = new grocery_CRUD();
$crud->set_table('users');
$crud->set_relation('id', 'user_details', '{physical_address} + {otherinfo}');
Run Code Online (Sandbox Code Playgroud)
id 字段的值以及引用的表不会出现在网格中,因此在使用主键时它似乎不起作用。
所以我决定从第二个表的内容开始,如下所示:
$crud = new grocery_CRUD();
$crud->set_table('user_details');
$crud->set_relation('user_id', 'users', '{name} + {email}');
Run Code Online (Sandbox Code Playgroud)
这是可行的,但问题是这些值出现在网格的一列中。我想知道如何将它们分成不同的列并使其在单独的输入字段中可编辑。
我必须在文件中搜索字符串并将匹配的行写入另一个文件。我有一个读取文件的线程和一个写入文件的线程。我想将stringBuffer从读取线程发送到写入线程。请帮助我通过。我会通过传递空值。
写线程:
class OutputThread extends Thread{
/****************** Writes the line with search string to the output file *************/
Thread runner1,runner;
File Out_File;
public OutputThread() {
}
public OutputThread(Thread runner,File Out_File) {
runner1 = new Thread(this,"writeThread"); // (1) Create a new thread.
this.Out_File=Out_File;
this.runner=runner;
runner1.start(); // (2) Start the thread.
}
public void run()
{
try{
BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(Out_File,true));
System.out.println("inside write");
synchronized(runner){
System.out.println("inside wait");
runner.wait();
}
System.out.println("outside wait");
// bufferedWriter.write(line.toString());
Buffer Buf = new Buffer();
bufferedWriter.write(Buf.buffers);
System.out.println(Buf.buffers);
bufferedWriter.flush();
}
catch(Exception …Run Code Online (Sandbox Code Playgroud) 即,你会建议我使用这样的控制器方法:
function save()
{
if(!is_bool($this->input->post('')))
{
$post_data = $this->input->post('');
$this->mymodel->save($post_data);
}
$this->load->view('myview');
}
Run Code Online (Sandbox Code Playgroud)
或者您会建议使用两种方法编写它吗?
function save()
{
if(!is_bool($this->input->post('')))
{
$post_data = $this->input->post('');
$this->mymodel->save($post_data);
}
redirect('controller/method2')
}
Run Code Online (Sandbox Code Playgroud)
重定向是这里的关键区别.例如,它禁止重新提交更新.
你怎么做呢?还有另一种更好的方法吗?
我遇到了一个我不知道解决方案的问题.
假设我有这个HTML标记(由服务器动态生成或只是静态文件):
<ul class="myList">
<li><a href="page1.html">Page 1</a></li>
<li><a href="page2.html">Page 2</a></li>
<li><a href="page3.html">Page 3</a></li>
<li><a href="page4.html">Page 4</a></li>
<li><a href="page5.html">Page 5</a></li>
<li><a href="page6.html">Page 6</a></li>
<!-- ... -->
<li><a href="page1000.html">Page 1000</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想将click事件处理程序绑定到<a>标记.通常,我会写出来
$('.myList').find('a').click(function() {}); /* Or something similar */
Run Code Online (Sandbox Code Playgroud)
这将对所有锚标记执行隐式迭代,以将click事件绑定到每个锚标记.但是,我被告知这是一项昂贵的操作.
我被问到是否有某种方法只能附加一个事件监听器(在ul标签上)并使用事件冒泡来确定单击了哪个锚标签.我从未遇到过这样的事情,所以我不知道答案.显然,有一个答案.有人知道如何在元素上放置单个事件监听器并让它知道单击了哪个子元素吗?(我仍然需要使用event.preventDefault()来阻止默认的单击事件.)
在比较应该是不同的并且具有多行的数据表时,应该在单元测试中执行什么样的测试.
[TestMethod]
public void ExecuteOutWithMultipleDataTables()
{
//Arrange
int id1 = TestOrderBuilder.New().Build();
DataTable dtDefault = CreateDefaultDataTable(id1, "OUT", "TableDesc", DateTime.Now);
//Act
object[] result = OracleDatabase.ExecuteOut(SqlStatements.Cursor, procedureParameters);
DataTable dtResults = result[0] as DataTable;
//Assert
Assert.IsNotNull(dtDefault);
Assert.IsNotNull(dtResults);
Assert.AreNotEqual(dtDefault, dtResults);
Assert.AreNotSame(dtDefault.Rows[0][0], dtResults.Rows[0][0]);
Assert.AreNotSame(dtDefault.Rows[0][1], dtResults.Rows[0][1]);
}
Run Code Online (Sandbox Code Playgroud)
这是我已经写过的一些例子,但我不确定我是否在正确的轨道上.
有人有建议吗?
苹果电脑
我正在尝试为高级搜索编写表达式.但是,我需要检查每个属性是否都是null,否则将抛出错误.
我已经包含了没有下面的空检查的表达式.
结果是使用jQuery dataTables输出.
filteredPeople = unitOfWork.PeopleRepository.Get().Where(c =>
IdSearchable && c.personID.ToString().Contains(param.sSearch.ToLower())
|| surnameSearchable && c.Surname.ToLower().Contains(param.sSearch.ToLower())
|| firstNameSearchable && c.FirstName.ToLower().Contains(param.sSearch.ToLower())
|| genderSearchable && c.Gender.ToLower().Contains(param.sSearch.ToLower())
));
Run Code Online (Sandbox Code Playgroud) 我正试图在我的文档中"包含"一个JS文件.它工作正常,但是当文件脱机时,它应该将变量设置为FALSE.我用谷歌搜索,但我没有得到它.所以我尝试使用try/catch:
try {
var jq = document.createElement('script');
//jq.onload = put;
jq.type = 'text/javascript';
jq.src = 'http://127.0.0.1:9666/jdcheck.js';
document.getElementsByTagName('head')[0].appendChild(jq);
}
catch(e) {
console.log('An error has occurred: '+e.message);
jdownloader = false;
}
Run Code Online (Sandbox Code Playgroud)
它只是抛出了我的错误
Failed to load resource http://127.0.0.1:9666/jdcheck.js
Run Code Online (Sandbox Code Playgroud)
如何将var设置为FALSE?
谢谢Markus
我正在使用flot图表.我想在x轴上显示日期和时间.这是我的代码:
$.plot($("#placeholder"), data, {
xaxis: {
mode: "time",
timeformat:"%y/%m/%d %H:%M:%S"
},
});
Run Code Online (Sandbox Code Playgroud)
在x轴上的图表显示为14/07/15 00:00:00.时间不显示.
c# ×3
javascript ×3
codeigniter ×2
datatable ×2
events ×2
jquery ×2
php ×2
asp.net-mvc ×1
assert ×1
exception ×1
file ×1
flot ×1
forms ×1
grocery-crud ×1
java ×1
join ×1
linq ×1
loops ×1
unit-testing ×1