在我的HTML页面上,我希望能够"转到"/"滚动到"/"关注"页面上的元素.
通常情况下,我会使用带有a的锚标记href="#something",但我已经使用hashchange事件和BBQ插件来加载此页面.
那么有没有其他方法,通过JavaScript,让页面转到页面上的给定元素?
这是我正在尝试做的基本概述:
function focusOnElement(element_id) {
$('#div_' + element_id).goTo(); // need to 'go to' this element
}
<div id="div_element1">
yadda yadda
</div>
<div id="div_element2">
blah blah
</div>
<span onclick="focusOnElement('element1');">Click here to go to element 1</span>
<span onclick="focusOnElement('element2');">Click here to go to element 2</span>
Run Code Online (Sandbox Code Playgroud) 我需要在我的一个没有超类的对象中实现深度克隆.
处理CloneNotSupportedException超类抛出的检查的最佳方法是什么(是Object)?
一位同事建议我按以下方式处理:
@Override
public MyObject clone()
{
MyObject foo;
try
{
foo = (MyObject) super.clone();
}
catch (CloneNotSupportedException e)
{
throw new Error();
}
// Deep clone member fields here
return foo;
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是一个很好的解决方案,但我想把它扔到StackOverflow社区,看看是否还有其他任何我可以包含的见解.谢谢!
我经常听到"我们可以使用LDAP加载员工信息吗?" 然而,标题"轻量级目录访问协议"让我认为它是一个协议而不是像Oracle或MSSQL这样的物理数据库管理系统.
那么有人可以向我解释一下LDAP是什么,它是如何使用的,以及它是如何工作的?LDAP只是用于从各种DBMS中提取数据的标准协议吗?在架构图中,LDAP是否只是数据库和应用程序服务器之间的箭头?
我有一个反应组件(这是为了证明问题而简化):
class MyComponent extends Component {
handleNameInput = (value) => {
this.searchDish(value);
};
searchDish = (value) => {
//Do something
}
render() {
return(<div></div>)
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想用提供的值测试那些handleNameInput()调用searchDish.
为了做到这一点,我想创建一个替换组件方法的jest模拟函数.
到目前为止,这是我的测试用例:
it('handleNameInput', () => {
let wrapper = shallow(<MyComponent/>);
wrapper.searchDish = jest.fn();
wrapper.instance().handleNameInput('BoB');
expect(wrapper.searchDish).toBeCalledWith('BoB');
})
Run Code Online (Sandbox Code Playgroud)
但是我在控制台中获得的是SyntaxError:
的SyntaxError
Run Code Online (Sandbox Code Playgroud)at XMLHttpRequest.open (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:458:15) at run_xhr (node_modules/browser-request/index.js:215:7) at request (node_modules/browser-request/index.js:179:10) at DishAdmin._this.searchDish (src/main/react/components/DishAdmin.js:155:68) at DishAdmin._this.handleNameInput (src/main/react/components/DishAdmin.js:94:45) at Object.<anonymous> (src/main/react/tests/DishAdmin.test.js:122:24)
所以我的问题是,如何用酶正确模拟组分方法?
我刚刚听说鸭子打字,我读了关于它的维基百科文章,但是我很难将这些例子翻译成Java,这真的有助于我理解.
是否有人能够给出一个明确的Java打字输入示例以及我可能如何使用它?
为什么C#不允许在同一行上使用const和static?在Java中,您必须将字段声明为"static"和"final"以充当常量.为什么C#不允许你将const声明为final?
我进一步区分在Java中,每个接口都是公共的和抽象的,无论是否显式声明.const本质上不是有效的静态吗?为什么C#对此不以为然?
Web服务返回由WSDL定义的对象:
<s:complexType mixed="true"><s:sequence><s:any/></s:sequence></s:complexType>
Run Code Online (Sandbox Code Playgroud)
当我打印出这个对象的类信息时,它出现为:
class com.sun.org.apache.xerces.internal.dom.ElementNSImpl
Run Code Online (Sandbox Code Playgroud)
但我需要将此对象解组为以下类的对象:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"info",
"availability",
"rateDetails",
"reservation",
"cancellation",
"error" })
@XmlRootElement(name = "ArnResponse")
public class ArnResponse { }
Run Code Online (Sandbox Code Playgroud)
我知道响应是正确的,因为我知道如何编组这个对象的XML:
Marshaller m = jc.createMarshaller();
m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
m.marshal(rootResponse, System.out);
Run Code Online (Sandbox Code Playgroud)
打印出来:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:SubmitRequestDocResponse xmlns:ns2="http://tripauthority.com/hotel">
<ns2:SubmitRequestDocResult>
<!-- below is the object I'm trying to unmarshall -->
<ArnResponse>
<Info />
<Availability>
<!-- etc-->
</Availability>
</ArnResponse>
</ns2:SubmitRequestDocResult>
</ns2:SubmitRequestDocResponse>
Run Code Online (Sandbox Code Playgroud)
如何将我所ElementNSImpl看到的ArnResponse物体转变为我所知道的物体?
此外,我正在AppEngine上运行,其中文件访问受到限制.
谢谢你的帮助
更新:
我添加了@XmlAnyElement(lax=true)注释,如下所示: …
我是否知道使用特定日期,月份和年份构建日期对象的最有效方法是什么.
Date(int year, int month, int day)
Run Code Online (Sandbox Code Playgroud)
此结构已折旧.因此,我通常做的是:
Calendar calendar = Calendar.getInstance();
Date date = calendar.set(year, month, date).getTime();
Run Code Online (Sandbox Code Playgroud)
但是,我的理解是Calendar.getInstance()相当昂贵.构造Date对象的最有效方法是什么?或者我应该静静地使用Date(int year,int month,int day)而不告诉其余的?
请不要建议使用任何第三方库.