我有一些代码,我循环遍历页面上的所有选择框,并将.hover事件绑定到它们,以便在它们的宽度上做一些麻烦mouse on/off.
这发生在页面准备就绪并且工作得很好.
我遇到的问题是,我在初始循环后通过Ajax或DOM添加的任何选择框都不会受到事件限制.
我找到了这个插件(jQuery Live Query Plugin),但在我用插件添加另外5k到我的页面之前,我想知道是否有人知道这样做的方法,无论是直接使用jQuery还是通过其他选项.
JavaScript window.onload和jQuery的$(document).ready()方法有什么区别?
我知道这是有些人不同意它们的原因,但它真的重要吗?我认为他们提供的功能,与JavaScript交互以及从服务器存储和发送信息,都超过了验证问题.我错过了什么吗?"无效"HTML的后果是什么?并且自定义DTD不会解决它们吗?
我想知道模块模式或Constructor/protoType模式是否更适用于我的工作.
基本上我使用的是不引人注目的javascript - HTML文档引用了.js文件.
我对模块模式的理解:
这听起来像是我情况的完美模式,因为我不需要创建对象和继承层次结构等.
我对构造函数/原型模式的理解:
我是否正确,为了提供不引人注目的javascript,模块模式是理想的?
javascript design-patterns unobtrusive-javascript module-pattern
我从这开始:
<script src="/Scripts/jquery-1.6.2.min.js" ...
<script src="/Scripts/knockout-1.2.1.debug.js" ...
<script src="/Scripts/knockout.mapping-latest.js" ...
<script src="/Scripts/jquery.unobtrusive-knockout.min.js" ...
Run Code Online (Sandbox Code Playgroud)
然后我从服务器中提取一个扁平的JSON对象,并将找到的每个属性绑定到DOM中的匹配元素:
$.ajax({
url: '/GetRecord',
type: 'POST',
dataType: 'json',
data: JSON.stringify(requestObject),
contentType: 'application/json; charset=utf-8',
success: function (data) {
// Clear the current view model
VM.Items.length = 0;
// only one item coming from server
VM.Items[0] = ko.mapping.fromJS(data.BlankItem);
// for each property found, bind it to the matching DOM element
$.each(VM.Items[0], function (indexInArray, valueOfElement) {
var attrName = indexInArray;
// skip over things not an accessor (get/set property function) …Run Code Online (Sandbox Code Playgroud) 为了遵循最佳实践,我们尝试根据您使用的设备使用正确的JavaScript/jQuery事件.例如,我们正在构建一个移动网站,其中包含一个带有onclick或touch事件的标记.对于iPhone,我们想使用"touchstart"活动.在将该处理程序绑定到对象之前,我们想测试他们的设备是否支持"touchstart".如果没有,那么我们将绑定"onclick".
做这个的最好方式是什么?
什么是外行术语中的Unobtrusive Javascript?一个例子可以帮助我理解.
突兀和不引人注目的javascript有什么区别 - 用简单的英语.简洁是值得赞赏的.简短的例子也很感激.
Rails 3做了一些很酷的东西,让Javascript不引人注目,所以他们做了这样的事情:
= link_to "Logout", user_session_path, :method => :delete
Run Code Online (Sandbox Code Playgroud)
..转换为
<a href="/logout" data-method="delete" rel="nofollow">Logout</a>
Run Code Online (Sandbox Code Playgroud)
但它只是发生在我身上..当我关闭javascript时,方法不再是DELETE,它是按预期获得的.那么是否有计划或者有某种方法允许这些data-属性优雅地降级,以便链接仍然是DELETE请求?
ruby-on-rails graceful-degradation unobtrusive-javascript ruby-on-rails-3
我最近加快了Knockout的速度,我认为这是一个很棒的框架.但是我有一个问题.
我发现在非平凡的绑定案例中,我有javascript代码片段爬进我的视图(标记).事实上,Knockout文档中的不少代码示例也证明了这一点.
这是否会使Knockout本身具有突兀性?
我应该接受它是什么而不是在实践中担心?
或者我是否应该使用任何模式/技术来使Knockout不引人注目?
javascript ×7
jquery ×4
knockout.js ×2
data-mapping ×1
dom-events ×1
events ×1
html ×1
iphone ×1
mobile ×1
xhtml ×1