<input type="text" onkeypress={ "processKeyPress(event.which, " +
jsonCall("pressed", JsRaw("event.which")).toJsCmd + ")" } />
-Ross
On Feb 24, 2010, at 6:38 PM, Rick R wrote:
> That works beautifully, thanks.
>
> With regards to using custom javascript functions, I have a function
> processKeyPress. It's role is to filter key presses, only send events
> to the server upon certain key presses.
>
> I guess the easiest way to handle this would be to pass the function created
> by:
> {jsonCall("pressed", JsRaw("event.which")).toJsCmd}
>
> into processKeyPress so that it can invoke it if the event.which is
> the correct type.
>
> Unfortunately, I can't come up with a way to describe this in inline XML.
>
> <input type="textarea" onkeypress="processKeyPress(event.which,
> {jsonCall("pressed", JsRaw("event.which")).toJsCmd})"/>
>
> leaving out the " causes a parse error.. adding the " cause it to be
> evaulated as a string.
>
> Any ideas?
>
>
>
> On Wed, Feb 24, 2010 at 2:57 PM, David Pollak
> <[email protected]> wrote:
>> Rick,
>>
>> Here's a simple example:
>>
>> import net.liftweb._
>> import util._
>> import http._
>> import js._
>> import JsCmds._
>> import JE._
>> import scala.xml.NodeSeq
>>
>> class Evently extends CometActor {
>>
>> // handle an incoming JSON event
>> override def handleJson(in: Any): JsCmd = in match {
>> case JsonCmd("pressed", _, key, _) => SetHtml("info", <b>You pressed
>> {key}</b>)
>> case _ => Noop
>> }
>>
>> def render =
>> <div>
>> <span id="info"/> <!-- A place to put stuff -->
>> {
>> Script(jsonInCode) // include the JSON callback
>> }
>> <input type="text" onkeypress={jsonCall("pressed",
>> JsRaw("event.which")).toJsCmd}/>
>> </div>
>> }
>>
>> So, the handleJson message gets called on the server whenever a key is
>> pressed on the client (this example works in non-IE browsers, but that's
>> just 'cause I'm using event.which rather than event.keyCode).
>>
>> Hope this helps.
>>
>> Thanks,
>>
>> David
>>
>>
>> On Wed, Feb 24, 2010 at 8:23 AM, Rick R <[email protected]> wrote:
>>>
>>> I have a textarea in which I process onKeyUp and onKeyDown commands.
>>> The handlers for such things are custom javascript.
>>> I would like to invoke functions in a Comet LiftActor /
>>> ListenerManager via these custom javascript functions. Is there
>>> documentation on the recommended way to do so?
>>>
>>> It looks like I will have to define the functions within a render call
>>> and use the SHtml.ajaxCall function, since the destination url is
>>> randomized. I am just wondering what would be the idiomatic way to do
>>> this.
>>>
>>> This is for a chat style app which processes/distributes data by the
>>> keystroke rather than by a line/post command.
>>>
>>>
>>> I'm open to any ideas / alternate suggestions.
>>>
>>> Thanks,
>>> Rick
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Lift" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/liftweb?hl=en.
>>>
>>
>>
>>
>> --
>> Lift, the simply functional web framework http://liftweb.net
>> Beginning Scala http://www.apress.com/book/view/1430219890
>> Follow me: http://twitter.com/dpp
>> Surf the harmonics
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Lift" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/liftweb?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Lift" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/liftweb?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.