我正在尝试在我的Web应用程序中使用bootstrap tour.前5分钟一切正常,我看到了弹出的步骤,第一次也是唯一的一次.然后弹出窗口就消失了.我尝试了很多方法甚至重新启动了电脑,事实证明,每次我清除浏览器缓存,它都可以工作一次.然后我需要再次清除缓存.
代码如下所示:
helpButton.click(function() {
if (window.steps === undefined)
return;
alert("element: " + window.steps[0].element + ", title: " + window.steps[0].title + ", content: " + window.steps[0].content + ", val: " + $(window.steps[0].element).val());
var tour = new Tour({
steps: window.steps
});
tour.init();
tour.start();
alert("finished.");
});
Run Code Online (Sandbox Code Playgroud)
步骤看起来像:
<script type="text/javascript">
var steps = [
{ element: "#choose-team", title: "????", content: "????????????????", position: "n" },
{ element: ".hidden-editor:first", title: "????2", content: "????????????????2", position: "n" }
];
Run Code Online (Sandbox Code Playgroud)
任何的想法?谢谢.
我正在使用Jquery-ui.我在一个页面中有不同的可丢弃的ul(s),以及不同的可拖动的li(s).我想要的是:1.ul的标题彼此不同,如"FUNCTION","BUG"等.2.li因类别而异,如".FUNCTOIN",".BUG", 3.具有"FUNCTION"标题的ul只能接受带有".FUNCTION"等级的li.只有在视图中创建它们时才能知道ul的标题.存储在db中的值.
但后来我遇到了一些问题,这里有不同的饱和度:
如果我使用恒定值,它运作良好,如:
$("ul.droppable").droppable({
accept: ".FUNCTION",
Run Code Online (Sandbox Code Playgroud)
而以下所有方式都失败了:
$("ul.droppable").droppable({
accept: "." + $(this).attr("title"),
$("ul.droppable").droppable({
accept: '.' + $(this).attr("title"),
$("ul.droppable").droppable({
accept: "\." + $(this).attr("title"),
$("ul.droppable").droppable({
accept: '\.' + $(this).attr("title"),
Run Code Online (Sandbox Code Playgroud)
所以我把"." 在标题中尝试了以下内容,但所有这些都失败了:
$("ul.droppable").droppable({
accept: $(this).attr("title"),
Run Code Online (Sandbox Code Playgroud)
顺便说一句,当我的意思是"失败",没有错误,弹出等等.可放置的东西不起作用(不活跃,不悬停,不能下降.).
我发现了很多这种"接受"的转发或Q/A,但它们都使用了可以在运行时之前定义的东西.所以"接受"只能使用恒定值,或者我使用它的方式是错误的?感谢您的回答或建议或评论可能会有所帮助.
根据Xnake的回答,这样做的方法是:
在旧代码droppable之前,添加前3行:
$("ul.droppable.accept").droppable({
accept: function (e) { if (e.hasClass($(this).attr('accept'))) return true; }
});
$("ul.droppable").droppable({
activeClass: "ui-state-default",
... //this is the old code.
Run Code Online (Sandbox Code Playgroud)
这意味着如果我们给droppable ul一个"accept"类,它只接受带有某个类的对象; 否则,它可以接受任何可拖动的.
然后在视图中:
<ul class = "stories-of-category droppable accept" accept = "@map.Type" >
...
</ul>
Run Code Online (Sandbox Code Playgroud)
如果任何具有@ map.Type同名类的对象,则可以将其删除.例如:
<ul title = ".."> //this …
Run Code Online (Sandbox Code Playgroud) 我注意到其他人遇到了同样的问题,例如无法将值NULL插入"UserId"列,但这应该是由不同的原因引起的.
这个问题可以像这样简化:
UsersContext _usersContext = new UsersContext();
...
var usersInRole = new UsersInRole() { RoleId = 3, UserId = 1 };
_usersContext.UsersInRoles.Add(usersInRole);
_usersContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
最后一行代码引发了异常
"更新条目时发生错误.有关详细信息,请参阅内部异常."
,而且InnerException也说了同样的话
"更新条目时发生错误.有关详细信息,请参阅内部异常."!
幸运的是,InnerException的InnerException说
"无法将值NULL插入列'RoleId',表'MFC.dbo.webpages_UsersInRoles';列不允许空值.INSERT失败.\ r \n语句已终止."
.这意味着"RoleId = 3"被修改或忽略,这怎么可能发生?
下面列出了一些其他可能有用的代码:
[Table("webpages_UsersInRoles")]
public partial class UsersInRole
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int RoleId { get; set; }
public int UserId { get; set; }
}
public class UsersContext : DbContext
{
public UsersContext()
: base("MFCConnectionString")
{
}
public DbSet<UsersInRole> UsersInRoles { get; set; }
} …
Run Code Online (Sandbox Code Playgroud)