小编Joh*_*opp的帖子

jquery .click被多次调用

我在jQuery尝试设置div的"click"方法时得到了意想不到的结果.请看这个jsfiddle.务必打开控制台窗口.单击几次单词并观察控制台输出.当只应调用一次时,click函数会被多次调用.

最后注释掉的代码工作得很好.难道我做错了什么?我是jQuery的新手.

这是代码:

function toggleDiv(status)
{
    console.log("toggleDiv(" + status + ")");
    if (status) {
        $("#test").html("Goodbye");
    }
    else  {
        $("#test").html("Hello");
    }
    $("#test").click(function() {
        toggleDiv(!status);
    });

    // Non-jquery method works fine....
    //document.getElementById("test").onclick = function () {
    //    toggleDiv(!status);
    //}
}?
Run Code Online (Sandbox Code Playgroud)

更新:看起来有很多方法来修饰这只猫.这里真正的问题是我不理解jQuery"click"函数ADDS另一个处理程序.我以为它替换了当前的处理程序.

jquery

9
推荐指数
3
解决办法
2万
查看次数

与WindowsFormsHost绑定

我正在尝试将项目列表绑定到TabControl.这些项目看起来像:

class SciEditor
{
    private Scintilla editor = null;
    public System.Windows.Forms.Control Editor
    {
        get { return editor; }
    }

    private string path = null;
    public string ShortName
    {
        get
        {
            return null == path ? "New Script" : Path.GetFileNameWithoutExtension(path);
        }
    }
    ....
Run Code Online (Sandbox Code Playgroud)

在我的主窗口中,List被称为"allScripts".这是XAML:

<TabControl Grid.Row="0" Grid.Column="0" Name="tabControl1">
            <TabControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock>                            
                        <TextBlock Text="{Binding ShortName}"/>
                    </TextBlock>
                </DataTemplate>
            </TabControl.ItemTemplate>
            <TabControl.ContentTemplate>
                <DataTemplate>
                    <WindowsFormsHost Child="{Binding Editor}" />
                </DataTemplate>
            </TabControl.ContentTemplate>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

问题是我无法在WindowsFormsHost中设置"Child",因为

无法在"WindowsFormsHost"类型的"Child"属性上设置"绑定".'绑定'只能在DependencyObject的DependencyProperty上设置.

如何设置WindowsFormsHost子项?

编辑:忘了提,在主窗口构造函数我有:

tabControl1.ItemsSource = allScripts;
Run Code Online (Sandbox Code Playgroud)

c# wpf windowsformshost

4
推荐指数
1
解决办法
5330
查看次数

创建输入作为输入的子项

是否可以创建一个文本的子项按钮?

<input type="text">
    <input type="button" />
</input>
Run Code Online (Sandbox Code Playgroud)

我问的原因是我想制作一个组合框.看到这个小提琴.在jquery中执行此操作,该按钮不会出现.在常规html中执行此操作,第二个输入不是第一个输入(至少在Chrome中).

我可以在一个范围内放置一个文本和按钮,但我更喜欢在示例中创建文本框,以便稍后可以检索值,如:$("#test).val();

PS我知道其他组合框插件存在.我想自己动手学习.

html jquery dom

4
推荐指数
2
解决办法
2872
查看次数

如何检查字节数组是否是有效的 UTF-8 字符串

我正在javax.crypto.Cipher使用 和 作为我得到的输出来解码消息byte[]。检查我的密钥是否正确并且是有效字符串的最快方法是什么?byte[]

java arrays byte utf

4
推荐指数
1
解决办法
3893
查看次数

将对象转换为集合

我有一个情况,我得到一个对象,需要:

  • 确定该对象是单个对象还是集合(数组,列表等)
  • 如果它是一个集合,请通过列表.

到目前为止我有什么.IEnumerable的测试不起作用.转换为IEnumerable仅适用于非基本类型.

static bool IsIEnum<T>(T x)
{
    return null != typeof(T).GetInterface("IEnumerable`1");
}
static void print(object o)
{
    Console.WriteLine(IsIEnum(o));       // Always returns false
    var o2 = (IEnumerable<object>)o;     // Exception on arrays of primitives
    foreach(var i in o2) {
        Console.WriteLine(i);
    }
}
public void Test()
{
    //int [] x = new int[]{1,2,3,4,5,6,7,8,9};
    string [] x = new string[]{"Now", "is", "the", "time..."};
    print(x);       
}
Run Code Online (Sandbox Code Playgroud)

有人知道怎么做吗?

c# runtime type-conversion

3
推荐指数
1
解决办法
8351
查看次数

不允许使用不完整的类型

尝试创建简单的父/子节点类,但遇到不允许不完整类型的错误。为什么?

class Node {
public:
    Node ParentNode;  //Error on this line
    string NodeName;


    Node(Node *node) : ParentNode(*node) {

    }
};
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
3万
查看次数

更改命名管道访问权限

我使用System.IO.Pipes. 它运行良好,直到我不得不在管理员模式下运行该程序。提升后,客户端无法再连接(客户端未提升运行)。如果我以管理员身份运行客户端,它会正常连接,因此看起来像是权限问题。我一直在研究如何解决这个问题,但没有成功(我发现处理 Windows 安全问题令人难以置信)。我的目标是允许任何客户端——无论是否提升——能够连接到管道。

我改变的第一件事是打开具有访问权限的管道:

pipeServer = new NamedPipeServerStream(pipeName,
                                       PipeDirection.InOut,
                                       1,
                                       PipeTransmissionMode.Message,
                                       PipeOptions.Asynchronous,
                                       0x4000,
                                       0x400,
                                       null,
                                       HandleInheritability.Inheritable,
                                       PipeAccessRights.ChangePermissions | PipeAccessRights.AccessSystemSecurity);
Run Code Online (Sandbox Code Playgroud)

然后我把这段代码拼凑在一起。一切正常,直到SetEntriesInAcl调用失败:

错误:0x534
“未完成帐户名称和安全 ID 之间的映射。”

IntPtr ownerSid = IntPtr.Zero;
IntPtr groupSid = IntPtr.Zero;
IntPtr dacl = IntPtr.Zero, newDacl = IntPtr.Zero;
IntPtr sacl = IntPtr.Zero;
IntPtr securityDescriptor = IntPtr.Zero;
if (SUCCEEDED(GetSecurityInfo(pipeServer.SafePipeHandle.handle.DangerousGetHandle(),                                                  
                              SE_OBJECT_TYPE.SE_KERNEL_OBJECT,
                              SECURITY_INFORMATION.DACL_SECURITY_INFORMATION,
                              out ownerSid,
                              out groupSid,
                              out dacl,
                              out sacl,
                              out securityDescriptor))) {
    EXPLICIT_ACCESS ea = new EXPLICIT_ACCESS();
    BuildExplicitAccessWithName(ref ea, "Everyone", GENERIC_ALL, ACCESS_MODE.GRANT_ACCESS, NO_INHERITANCE);
    // Next …
Run Code Online (Sandbox Code Playgroud)

c# windows security named-pipes

3
推荐指数
1
解决办法
3045
查看次数

循环遍历 &lt;divs&gt; 数组,每次使用 javascript 只显示一个

我正在使用 javascript 和 html 制作一个小测验应用程序。测验的设置使用户只能在页面上看到一个问题。当他们按下上一个和下一个按钮时,它分别向用户显示上一个和下一个问题。

我想要做的是,遍历由 getElementByClassName 返回的元素数组,并在用户每次按下“下一步”按钮时显示下一个项目。我目前遇到的问题是,当按下“下一步”按钮时,第一个元素之后的每个元素都显示在页面上。页面上还有一个“上一个”按钮,向用户显示前一个元素,但是它删除了数组中的第一个元素,显示“无法设置未定义的属性‘显示’”错误和 div 的其余部分元素仍然显示在页面上。

这是当前的代码 HTML:

const nextBtn = document.getElementById('next');
const prevBtn = document.getElementById('prev');
const quizes = document.getElementsByClassName('quiz');
//show and hide divs when user presses next
nextBtn.addEventListener('click', function() {
  for (i = 0; i < quizes.length; i++) {
    quizes[i].style.display = "block";
  }
})

prevBtn.addEventListener('click', function() {
  if (quizes.length > 1) {
    for (i = 0; quizes.length > 1; i--) {
      if (quizes[i].display = "block") {
        quizes[i].style.display = "none";
      }
    }
  } else {
    alert('no …
Run Code Online (Sandbox Code Playgroud)

html javascript

2
推荐指数
1
解决办法
222
查看次数

有没有办法在Python中选择某个字母?

在此输入图像描述

dna="AAGAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTCTTAGCGGGGCCACATCGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGTTACAGCGAGCATAC" 
Run Code Online (Sandbox Code Playgroud)

所以基本上我试图只选择dna变量中的字母“C”,然后简单地将其替换为字母“G”。

我有办法/功能吗?如能解答,将不胜感激!

python variables function letter selection

1
推荐指数
1
解决办法
513
查看次数

嵌套if的问题

请允许任何人指出我在下面给出的代码中做了什么错误,我得到编译错误,对于每个EndIF,必须提前对应的IF THank:

Public Function customavg(rng As Range, nr_weeks As Integer)
Dim total As Integer, count_rng_row As Integer, count_wk As Integer, counter_rng As Integer

total = 0
count_rng_row = rng.Rows.count
count_wk = 0
counter_rng = count_rng_row


   For counter_rng = count_rng_row To 1
     If count_wk < nr_weeks Then
        If rng.Cells.Offset(0, -1) = "b" Then total = total + rng.Cells.Value
           counter_rng = counter_rng - 1
           count_wk = count_wk + 1
        End If
     'Else
      '     counter_rng = counter_rng - 0
       '    count_wk = count_wk …
Run Code Online (Sandbox Code Playgroud)

vba nested-if

0
推荐指数
1
解决办法
40
查看次数

关于括号,布尔逻辑和'\ n'

我发现(true && false)给出0,而true && false(没有括号)给出1。这个问题可能是愚蠢的,因为我刚开始学习C ++,但是我在任何地方都找不到答案。

我执行以下操作:

cout << (true && false) << '\n';
cout << true && false << '\n';
cout << (true && false == true);
Run Code Online (Sandbox Code Playgroud)

它给了我:

    0
    10

看到这个之后,我变得更加困惑:

  1. (true && false)和之间true && false(没有括号)有什么区别?
  2. 因为true && false给了我1,所以我以为true && false没有括号就是true。但是,(true && false == true)给我0。为什么?是不是因为01不一定指示falsetrue
  3. 另外,'\n'第二行中的似乎不起作用。为什么?

c++ boolean-logic

0
推荐指数
1
解决办法
76
查看次数

Switch上有ELSE返回的功能吗?

大家好,我想知道有人可以帮助我,否则我想做的是再次询问我正确的数字,即 1 到 7 并“强迫”用户输入 1 到 7 的数字。

\n
#include <stdio.h>\n#include <conio.h>\n\nint main()\n{\n    int dia;\n    printf("Escriba el n\xc3\xbamero de d\xc3\xada: \\n");\n    scanf("%d",&dia);\n    if(dia>=1 && dia<=8)\n        switch(dia)\n        {\n            case 1: printf("El d\xc3\xada es Lunes");\n                    break;\n            case 2: printf("El d\xc3\xada %d es Martes",dia);\n                    break;\n            case 3: printf("El d\xc3\xada %d es Mi\xc3\xa9rcoles",dia);\n                    break;\n            case 4: printf("El d\xc3\xada %d es Jueves",dia);\n                    break;\n            case 5: printf("El d\xc3\xada %d es Viernes",dia);\n                    break;\n            case 6: printf("El d\xc3\xada %d es S\xc3\xa1bado",dia);\n                    break;\n            case 7: printf("El d\xc3\xada %d …
Run Code Online (Sandbox Code Playgroud)

c if-statement switch-statement

0
推荐指数
1
解决办法
109
查看次数