我在这个链接上绑定了两个事件处理程序:
<a href='#' id='elm'>Show Alert</a>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$(function()
{
$('#elm').click(_f);
$('#elm').mouseover(_m);
});
function _f(){alert('clicked');}
function _m(){alert('mouse over');}
Run Code Online (Sandbox Code Playgroud)
有没有办法得到一个元素绑定的所有事件的列表,在这种情况下元素与id="elm"?
var user = {
Name: "Some user",
Methods: {
ShowGreetings: function() {
// at this point i want to access variable "Name",
//i dont want to use user.Name
// **please suggest me how??**
},
GetUserName: function() { }
}
}
Run Code Online (Sandbox Code Playgroud) 如何压缩asp.net mvc应用程序发送的输出?
CSS:
.blue
{
width:200px;
height:200px;
background-color:blue;
color:#000000;
overflow:auto;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
function addChar() {
$('.blue').append('some text ');
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div id='blue1' class="blue"></div><br />
<a href='javascript:void(0)' onclick='addChar()'>Add</a>
Run Code Online (Sandbox Code Playgroud)
div id='blue1'有overflow属性设置为auto.我想在发生溢出时检测溢出.
var _sel1 = $('.red');
var _sel2 = $('.yellow');
Run Code Online (Sandbox Code Playgroud)
如何在不使用不同选择器的情况下将它们合并为一个?
// I don't want to do it this way
var _sel3=$('.red,.yellow') or $('.red').add('.yellow');
Run Code Online (Sandbox Code Playgroud) 我有DOM是这样的:
<a href='javascript:void(0)' id='link1'>Element with events bound initially</a>
<a href='javascript:void(0)' id='link2'>Element to which events are bound in future</a>
Run Code Online (Sandbox Code Playgroud)
这个javascript:
$(function(){
$('#link1').bind('click',function(){alert('do something to make me happy');})
});
Run Code Online (Sandbox Code Playgroud)
现在将来有一段时间我想将link1上绑定的所有事件复制到link2.我这样做如下所示,如果可能或可用,请建议一些更好的方法.
var _elmEvents = $(#link1).data('events');
if (_elmEvents) {
$.each(_elmEvents, function (event, handlers) {
$.each(handlers, function (j, handler) {
$('#link2').bind(event, handler);
});
});
}
Run Code Online (Sandbox Code Playgroud) 我正在使用jquery并做这样的事情
DOM:
<div id="parent"></div>
Run Code Online (Sandbox Code Playgroud)
JS:
var _doSomeThing = function()
{
//some codes
}
$(function()
{
// appending div and binding methods to span
$('#parent').append('<span>1</span>');
$('#parent').append('<span>2</span>');
$('#parent span').bind('click', _doSomeThing);
});
function _clearDiv()
{
//clear div
$('#parent').html('');
}
//sometime in future, call clear div
_clearDiv();
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,做绑定事件,DOM然后只是从DOM导致内存泄漏中删除元素?
如果是,如何解决这个问题?
注意:下面的代码仅用于演示,我使用的是jQuery和jQuery validate插件.
假设我有一个包含两个字段的表单(电子邮件和库存号):
<form action="/something" method="post" id="demoForm">
Inventory No: <input type="text" class="required" name="inventory_no" />
Email: <input type="text" class="required" name="email" />
<input type='submit' value='submit' />
</form>
Run Code Online (Sandbox Code Playgroud)
绑定插件形成:
jQuery(function(){
jQuery('#demoForm').validate();
});
//handle user submit
jQuery('#demoForm').bind('submit', function (e) {
e.preventDefault();
if (jQuery(e.target).valid()) {
//form is valid submit request thru ajax
jQuery.ajax({
/*more options here*/
success: function (data) {
/*
Server process request and finds that, email is already in use
and inventory number is invalid
so it sends data in some format may …Run Code Online (Sandbox Code Playgroud) 下面我创建了一个演示实体来演示我正在寻找的东西:
public class User : IValidatableObject
{
public string Name { get; set; }
[Required]
public DateTime CreationDate { get; set; }
public DateTime UpdatedOnDate { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if(Name = "abc")
{
yield return new ValidationResult("please choose any other name then abc", new[] { "Name" });
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在实现IValidatableObject接口来使这个实体SelfValidating.
现在正在创建新的用户iam这样做
User u = new User();
u.Name = "Some name";
u.CreationDate = DateTime.Now
dbContext.Users.Add(u);
dbContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我打算u.CreationDate=DateTime.Now;在User课堂内转移代码.并实现一个接口,该接口提供将在保存之前和验证之后执行的方法
// class …Run Code Online (Sandbox Code Playgroud)